0% found this document useful (0 votes)
93 views64 pages

1.1 Overview: Fig.1 Cloud Computing Overview

This document provides an overview of computer networks and cloud computing. It defines a computer network as a collection of interconnected computers that allow sharing of resources and information. Cloud computing is described as the delivery of computing resources such as hardware and software over a network, typically the Internet. The document discusses service models for cloud computing and security issues related to the cloud, such as privacy, compliance, and vulnerabilities. It provides examples of solutions to cloud security issues like public key infrastructure and standardization of APIs.

Uploaded by

Mythili
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views64 pages

1.1 Overview: Fig.1 Cloud Computing Overview

This document provides an overview of computer networks and cloud computing. It defines a computer network as a collection of interconnected computers that allow sharing of resources and information. Cloud computing is described as the delivery of computing resources such as hardware and software over a network, typically the Internet. The document discusses service models for cloud computing and security issues related to the cloud, such as privacy, compliance, and vulnerabilities. It provides examples of solutions to cloud security issues like public key infrastructure and standardization of APIs.

Uploaded by

Mythili
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 64

CHAPTER 1

INTRODUCTION
1.1 OVERVIEW
A computer network is a collection of computers and other hardware components
interconnected

by

communication

channels

that

allow

sharing

of

resources

and

information. Where at least one process in one device is able to send or receive data to and from
at least one process residing in a remote device, then the two devices are said to be in a network.
Simply, more than one computer interconnected through a communication medium for
information interchange is called a computer network.

1.2 CLOUD COMPUTING


Cloud computing is the use of computing resources i.e hardware and software that are
delivered as a service over a network typically the Internet. Cloud computing entrusts remote
services with a user's data, software and computation. Using software as a service, users also rent
application software and databases. The cloud providers manage the infrastructure and platforms
on which the applications run. End users access cloud-based applications through a web
browser or a light-weight desktop or mobile app while the business software and user's data are
user's data are stored on servers at a remote location.

Fig.1 Cloud Computing Overview

1.3 SERVICE MODELS

Fig.2 Service Model


1.4 ISSUES

Privacy
Compliance
Legal
Open source
Open Standards
Security
Sustainability
Abuse
IT governance

1.5 SECURITY
As cloud computing is achieving increased popularity, concerns are being voiced about
the security issues introduced through adoption of this new model. The relative security of cloud
computing services is a contentious issue that may be delaying its adoption. Physical control of
the Private Cloud equipment is more secure than having the equipment off site and under
someone elses control. Issues barring the adoption of cloud computing are due in large part to
the private and public sectors' unease surrounding the external management of security-based
2

services. It is the very nature of cloud computing-based services, private or public, that promote
external management of provided services. This delivers great incentive to cloud computing
service providers to prioritize building and maintaining strong management of secure services.

Security issues have been categorized into

sensitive data access

data segregation

privacy

bug exploitation

recovery

accountability

malicious insiders

management console security

account control

multi-tenancy issues.

Solutions to various cloud security issues

Public Key Infrastructure (PKI)

To use multiple cloud providers

Standardization of APIs

Improving virtual machine support and legal support.

CHAPTER 2
LITERATURE SURVEY
2.1 SECURITY ISSUES
Data security and access control is one of the most challenging ongoing research work in
cloud computing, because of users outsourcing their sensitive data to cloud providers. Existing
solutions that use pure cryptographic techniques to mitigate these security and access control
problems suffer from heavy computational overhead on the data owner as well as the cloud
service provider for key distribution and management. Problems of access control in cloud
computing includes the mechanism to distribute decryption key, number of users may become
large and solution is not efficient [6]
In distributed systems users need to share sensitive objects with others based on the
recipients ability to satisfy a policy. Attribute-Based Encryption (ABE) [7] is paradigm where
such policies are specified and cryptographically enforced in the encryption algorithm itself. The
drawbacks include the threshold lacks expressibility, flexibility .Both cipher text and decryption
keys are associated with set of attributes.[3]

2.2 CIPHERTEXT POLICY ABE


Cipher text-Policy ABE (CP-ABE) [10] is a form of ABE where policies are associated
with encrypted data and attributes are associated with keys. User attributes are represented in
keys. The advantage includes the user who can see the message content can decrypt in absence of
group keys, It save the cost to distribute group keys. This scheme suffered with the major
drawback of lacking in updating efficiency, if any changes made to the attribute the private key
associated with the attribute should also be changed. [10]
4

CP-ASBE a new form of CP-ABE

which, unlike existing CP-ABE schemes that

represent user attributes as a monolithic set in keys, organizes user attributes into a recursive set
based structure and allows users to impose dynamic constraints on how those attributes may be
combined to satisfy a policy. Specifically CP-ASBE allows user attributes to be organized into a
recursive family of sets and

policies that can selectively restrict decrypting users to use

attributes from within a single set or allow them to combine attributes from multiple sets. Thus
by grouping user attributes into sets such that those belonging to a single set have no restrictions
on how they can be combined.

2.3 KEY POLICY ATTRIBUTE BASED ENCRYPTION


Key Policy Attribute Based Encryption (KP-ABE) [13] Cipher text is associated with set
of attributes where the decryption key is associated with tree access structure. Interior nodes of
the access tree are threshold gates and leaf nodes are associated with attributes. User secret key is
defined to reflect the access structure so that the user is able to decrypt cipher text if and only if
the data attributes satisfy his access structure.
A KP-ABE scheme is composed of four algorithms
Setup: This algorithm takes as input a security parameter and the attribute universe

= {1, 2, ..,N} of cardinality N. It defines a bilinear group G1 of prime order p with a generator
g ,a bilinear map e : G1 G1 ! G2 which has the properties of bilinearity, computability, and
non-degeneracy .It returns the public key PK as well as a system master key.
MK as follows
PK = (Y, T1, T2, . . . , TN)
MK = (y, t1, t2, . . . ,tN)
While PK is publicly known to all the parties in the system, MK is kept as a secret by the
authority party.
Encryption: This algorithm takes a message M, the public key PK, and a set of attributes I as
input. It outputs the cipher text
Key Generation: This algorithm takes as input an access tree T, the master key MK, and the
public key PK. It outputs a user secret key SK as follows. Then it outputs SK as follows.
5

SK = {ski}i2L
where L denotes the set of attributes attached to the leaf nodes of T and ski = gpi(0)ti .
Decryption: This algorithm takes as input the cipher text E encrypted under the attribute set I,
the users secret key SK for access tree T, and the public key PK. It first computes
e(Ei, ski) = e(g,g)pi(0)s for leaf nodes. Then, it aggregates these pairing results in the bottom-up
manner using the polynomial interpolation technique. Finally, it may recover the blind factor
Y s = e(g, g)ys and output the message M if and only if I satisfies T.
This is an enhanced KP-ABE scheme which supports user secret key accountability.[2]

2.4 FUZZY IDENTITY BASED ENCRYPTION


Fuzzy Identity Based Encryption From Lattices [8] ,In constructing a Fuzzy Identity
Based Encryption (Fuzzy IBE) scheme based on lattices. A fuzzy IBE scheme is exactly like an
identity-based encryption scheme except that cipher text encrypted under an identity id enc can be
decrypted using the secret key corresponding to any identity id dec that is close enough" to idenc.
Examples arise when using one's biometric information as the identity, but also in general access
control systems that permit access as long as the user satisfies a certain number of conditions.
The construction is secure in the selective security model under the learning with errors (LWE)
secure under the worst-case hardness of short vector problems" on arbitrary lattices. Extended
the construction to handle large universes ,and to resist chosen cipher text (CCA) attacks [8]

2.5 IDENTITY BASED ENCRYPTION


Identity Based Encryption (IBE)[15] is an important primitive of ID-based cryptography.
As such it is a type of public-key encryption in which the public key of a user is some unique
information about the identity of the user [16]. This can use the text-value of the name or domain
name as a key or the physical IP address it translates to. The first implementation of an emailaddress based PKI was developed by Adi Shamir in 1984 which allowed users to verify digital
signatures using only public information such as the user's identifier. He was however only able
to give an instantiation of identity-based signatures. It includes the major advantages of any
identity-based encryption scheme is that if there are only a finite number of users, after all users

have been issued with keys the third party's secret can be destroyed [15] .This can take place
because this system assumes that, once issued, keys are always valid .
The obtained drawback is if a Private Key Generator (PKG) [1] is compromised, all
messages protected over the entire lifetime of the public-private key pair used by that server are
also compromised. This introduces a key-management problem where all users must have the
most recent public key for the server. Because the Private Key Generator (PKG) generates
private keys for users, it may decrypt and/or sign any message without authorization. This
implies that IBE systems cannot be used for non-repudiation IBE solutions may rely on
cryptographic techniques that are insecure against code breaking quantum computer attacks .

2.6 HIERARCHICAL IDENTITY BASED ENCRYPTION


Hierarchical Identity Based Encryption (HIBE) [9] system where the cipher text consists
of just three group elements and decryption requires only two bilinear map computations,
regardless of the hierarchy depth. Encryption is as ecient as in other HIBE systems. The
scheme is selective-ID secure in the standard model and fully secure in the random oracle model.
This system has a number of applications, it gives very e cient forward secure public key and
identity based cryptosystems, it converts the NNL broadcast

encryption [9] system into an

ecient public key broadcast system, and it provides an ecient mechanism for encrypting to
the future. The system also supports limited delegation where users can be given restricted
private keys that only allow delegation to bounded depth. The HIBE system can be modied to
support sublinear size private keys at the cost of some ciphertext expansion.[9]

2.7 HIERARCHICAL ATTRIBUTE BASED ENCRYPTION


In Hierarchical Attribute Based Encryption [3] to keep the shared data confidential
against untrusted cloud service providers , a natural way is to store only the encrypted data in a
cloud. The key problems of this approach include establishing access control for the encrypted
data, and revoking the access rights from users when they are no longer authorized to access the
encrypted data. This approach solves both problems .[3] The hierarchical attribute-based
encryption scheme is introduced by combining a hierarchical identity-based encryption system
and a ciphertext-policy attribute-based encryption system, so as to provide not only fine-grained
7

access control, but also full delegation and high performance.It provides the scalable revocation
scheme by applying proxy re-encryption and lazy re-encryption to the HABE scheme, so as to
efficiently revoke access rights from users.[3]
Fine-grained access control systems [2] facilitate granting differential access rights to a
set of users and allow flexibility in specifying the access rights of individual users. Several
techniques are known for implementing fine grained access control.Common to the existing
techniques and the references therein is the fact that they employ a trusted server that stores the
data in clear. Access control relies on software checks to ensure that a user can access a piece of
data only if he is authorized to do so. This situation is not particularly appealing from a security
standpoint. In the event of server compromise, for example, as a result of a software vulnerability
exploit, the potential for information theft is immense. Furthermore, there is always a danger of
insider attacks wherein a person having access to the server steals and leaks the information,
for example, for economic gains. Some techniques create user hierarchies and require the users
to share a common secret key if they are in a common set in the hierarchy. The data is then
classified according to the hierarchy and encrypted under the public key of the set it is meant for.
Clearly, such methods have several limitations. If a third party must access the data for a set, a
user of that set either needs to act as an intermediary and decrypt all relevant entries for the party
or must give the party its private decryption key, and thus let it have access to all entries. In
many cases, by using the user hierarchies it is not even possible to realize an access control
equivalent to monotone access trees. Here introduces new techniques to implement fine grained
access control. In this techniques, the data is stored on the server in an encrypted form while
different users are still allowed to decrypt different pieces of data

security policy. This

effectively eliminates the need to rely on the storage server for preventing unauthorized data
access.
Secret-sharing schemes(SSS) [4] are used to divide a secret among a number of parties.
The information given to a party is called the share for that party. Every SSS realizes some
access structure that defines the sets of parties who should be able to reconstruct the secret by
using their shares.
Modification of RBAC such that it becomes rule-based, so they refer to it as Rule-Based
RBAC or RB-RBAC. In this model, an enterprise defines the set of rules that are triggered to
8

automatically assign users to roles. These rules take into account: The attributes of the client that
are expressed using attributes expressions as defined by the language provided by the model.
Any constraints on using roles. Users have many-to-many explicit relation with attribute values.
Further, they have many-to-many implicit relation with attribute expressions. One user could
have one or more attribute expressions depending on the information he provides. Conversely,
two or more users may provide identical attribute expressions. A specific attribute expression
corresponds to one or more roles. An example of a rule that yields multiple roles is when a client
is entitled to several mutually exclusive roles.

2.8 BILINEAR PAIRING


Bilinear Pairing [7] used in Cloud computing The bilinear map was originally suggested
as a tool to attack elliptical curve encryption, by reducing the problem of discrete algebra on
elliptical curve into the problem of discrete algebra on finite field, and thus reducing the
difficulty of it. However, it began to be used recently not as an attacking tool, but as an
encryption tool for information protection.

2.9

THE

DECISIONAL

BILINEAR

DIFFIE-HELLMAN

(BDH)

ASSUMPTION [14]
Let a, b, c, z Zp be chosen at random and g be a generator of G1. The decisional BDH
assumption [7, 32] is that no probabilistic polynomial-time algorithm B can distinguish the tuple
(A = ga,B= gb,C= gc, e(g, g)abc) from the tuple(A = ga,B= gb,C= gc, e(g, g)z) with more than a
negligible advantage. The advantage of B is
Pr[B(A,B,C, e(g, g)abc) = 0] Pr[B(A,B,C, e(g, g)z) = 0
where the probability is taken over the random choice of the generator g, the random choice of a,
b, c, z in Zp, and the random bits consumed by B.
Access Policy Tree, Xiaoyan Hong et al [12] developed Situation Aware Trust (SAT) to
provide adaptive and proactive security in various Vehicular Network (VNET) situations. SAT is
a trust built on CPABE providing data-centric trust. Attributes in SAT identify a group of
entities a type of events or the property of events. This example is a typical case in SAT. Users
who have attributes Company A, Washington St: and 10- 11am in their private keys are satisfied
to decrypted the message. That means users that fulfill a set of descriptive attributes form a
9

group. The group boundary is not clearly defined, whoever satisfy the policy tree can join in the
group. This feature allows users in SAT set up trust proactively.

2.10 HABE MODEL


The HABE model [3] consists of a root master that corresponds to the third trusted
party ,multiple domain masters in which the top-level DMs correspond to multiple enterprise
users, and numerous users that correspond to all personnel in an enterprise. The RM, whose role
closely follows the root private key generator

in a HIBE system, is responsible for the

generation and distribution of system parameters and domain keys. The DM, whose role
integrates both the properties of the domain PKG in a HIBE system and AA in a CP-ABE
system, is responsible for delegating keys to DMs at the next level and distributing keys to users.
Specifically, enable the leftmost DM at the second level to administer all the users in a domain,
just as the personnel office administers all personnel in an enterprise, and not to administer any
attribute. Notice that other DMs administer an arbitrary number of disjoint attributes, and have
full control over the structure and semantics of their attributes. In the HABE model, we first
mark each DM and attribute with a unique identifier, but mark each user with both an ID and a
set of descriptive attributes. we enable an entitys secret key to be extracted from the DM
administering itself, and an entitys public key, which denotes its position in the HABE model, to
be an ID tuple consisting of the public key of the DM administering itself and its ID, e.g., the
public key of DMi with IDiis in the form of the public key of user U with IDu is in the form of
(PKi; IDu), and the public key of attribute a with IDais in the form of (PKi; IDa), where PKi1,
PKi, and PKiare assumed to be the public keys of the DMs that administer DMi, U, and a,
respectively.

10

Fig.3 A three-level HABE model


Delegation is handover of rights, One can delegate any key to a more restrictive policy.
Subsumes Hierarchical ABE, cipher text policy-ABE. Encrypts data reflect decryption
policy.Users private key are descriptive attribute.[5]
Revocation,[4] by making slight alterations into HABE scheme, and apply proxy reencryption and lazy re-encryption into scheme. Modifications in keys, We enable each attribute
a with ID ato be bound to a version number, which increases by one whenever a user associated
with a is revoked. Therefore, an attribute public key is the form of PKta=(vta , PKi, IDa), where t
2 Zqis the version number of the attribute public key, and vta 2 f0; 1gis a string corresponding
to t.

Fig.4 Access policy Tree


Modifications in algorithms[14] : First, we enable the Create DM algorithm to uniformly
and randomly generate a hash function Hmki: f0; 1gZqfor DMi, where Hmkiis a random
oracle. Second, we construct another algorithm Create Attribute (PKta, mki), which is executed
by DMi whenever it receives a request for Pta, and outputs Hmki(PKta)P0 2 G1. Therefore, the
first step in the Encrypt algorithm turns into requesting P-values of all attributes in A from the
DMs.When a user is revoked, denoted V, it is imperative to update public keys of attributes in
SV, and attribute secret keys for remaining users who possess at least one attribute in SV, and reencrypt data whose access structure specifies at least one attribute in SV, where the set SV
contains all attributes associated with V. If all these tasks are performed by the DMs themselves,
it would introduce a heavy computing overhead and may also require the DMs to always be

11

online. Therefore, we get the idea to take advantage of the abundant resources in a cloud by
delegating to CSPs most of the computing tasks in revocation.

CHAPTER 3
REQUIREMENT ANALYSIS
3.1 SYSTEM REQUIREMENTS
3.1.1 Hardware Required:

Hard Disk

: 40GB and Above

RAM

: 1GB and Above

Processor

: Pentium IV and Above

Monitor

:15 color

3.1.2 Software Required:

XAMPP

Apache Tomcat 6.0

JDK 1.6

Net Beans

My SQL 3.2

3.2 FUNCTIONAL REQUIREMENTS


A functional requirement defines a function of a software-system or component .A
function is described as a set of inputs, the behavior and outputs. Based on the privileges
mentioned the keys is issued to view the contents .In order to download the content the

12

encryption key is needed. Moreover revocation rights is issued such that the legitimate user can
attain the rights back.

External Interface Requirements


User Interfaces
1. Cloud service is designed through jsp.
2. System gets the input and delivers through the GUI based.

Hardware Interfaces
We can connect your AS/400 to an Integrated Services Digital Network (ISDN) for faster,
more accurate data transmission. An ISDN is a public or private digital communications network
that can support data, fax, image, and other services over the same physical interface. Also, you
can use other protocols on ISDN, such as IDLC and X.25.
Software Interfaces

This software is interacted with the TCP/IP protocol, Socket and listening on unused

ports.
This software is also interacted with the SMTP protocol, sending and receiving on SMTP
protocol.

3.3 Nonfunctional Requirements


Performance Requirements
We introduced the HASBE scheme for realizing scalable, flexible, and fine-grained
access control in cloud computing. The HASBE scheme seamlessly incorporates a hierarchical
structure of system users by applying a delegation algorithm to ASBE. HASBE not only supports
compound attributes due to flexible attribute set combinations, but also achieves efficient user
revocation because of multiple value assignments of attributes. We formally proved the security
13

of HASBE based on the security of CP-ABE by Bethencourt et al.. Finally, we implemented the
proposed scheme, and conducted comprehensive performance analysis and evaluation, which
showed its efficiency and advantages over existing schemes.
Safety Requirements

The software may be safety-critical. If so, there are issues associated with its integrity

level
The software may not be safety-critical although it forms part of a safety-critical

system. For example, software may simply log transactions.


If a system must be of a high integrity level and if the software is shown to be of that

integrity level, then the hardware must be at least of the same integrity level.
There is little point in producing 'perfect' code in some language if hardware and

system software (in widest sense) are not reliable.


If a computer system is to run software of a high integrity level then that system

should not at the same time accommodate software of a lower integrity level.
Systems with different requirements for safety levels must be separated.
Otherwise, the highest level of integrity required must be applied to all systems
in the same environment.

Software Quality Attributes


Functionality: are the required functions available, including Interoperability and security
Reliability: maturity, fault tolerance and recoverability
Usability: how easy it is to understand, learn, and operate the software System
Efficiency: performance and resource behavior.
Maintainability: Maintaining the software.
Portability: The software can easily be transferred to another environment.

14

CHAPTER 4
SYSTEM ANALYSIS
4.1 EXISTING SYSTEM
In the past, software had to be installed in an infrastructure close to end users. In existing
system, dont have security for datas. In case any of the corruption might be happened on cloud
mean we cant get the original information, everything will be lost. There is no privilege for end
users, data owner and data consumer. Key distribution is major issue. Data owners should be
always online to distribute keys. Moreover the session expiration for the authorized user has also
become an issue.

4.1.1 DISADVANTAGES

Key distribution
Session expiration
Need for authority to be online for encrypting and key distributing.
Recovery of lost or damaged data is not possible.

15

4.2 PROPOSED SYSTEM


Key distribution is done with the help of domain authority. The special authority that
takes responsibility to choose key to generate and distribute to legitimate user, thereby it
increases the security concerns. While uploading the data content the key is provided by the
owner to the domain authority ,so if there is a request by the consumer for a particular file the
link to get the key content, using the key content they can able to get the data of their own
privilege. If there is a case of intruders to hack or damage the information then the original data
content can be recovered back. The delegation of rights to the legitimate consumers the key
distribution mechanism is made easier to access the data content, the session expiration is
maintained to provide usage of the data content that has been uploaded. The proposed model
uses the KP-ABE and proxy re encryption to enhance the functionality of the access control
scheme of the system.

4.2.2 ADVANTAGES

Distributing keys using the domain authority


Session expiration is maintained to regenerate for the authorized users
Data consumers can access only if they satisfy the tree policy attribute
Regenerating the colluded data.

16

4.3 MODULES OF THE SYSTEM

Cloud Architecture Design


Domain Authority Check and Attribute Based Encryption
Shared resources and Trusted Authority

4.3.1 CLOUD ARCHITECTURE DESIGN


Cloud computing has computational and sociological implications. In
computational terms cloud computing is described as a subset of grid computing concerned with
the use of special shared computing resources. For this reason it is described as a hybrid model
exploiting computer networks resources, chiefly Internet, enhancing the features of the
client/server scheme. From a sociological standpoint on the other hand, by delocalizing hardware
and software resources cloud computing changes the way the user works as he/she has to interact
with the "clouds" on-line, instead of in the traditional stand-alone mode.

4.3.2

DOMAIN

AUTHORITY CHECK

AND

ATTRIBUTE

BASED

ENCRYPTION
The cloud service provider manages a cloud to provide data storage service. Data
owners encrypt their data files and store them in the cloud for sharing with data consumers. To
access the shared data files, data consumers download encrypted data files of their interest from
the cloud and then decrypt them. Each data owner/consumer is administrated by a domain
authority. A domain authority is managed by its parent domain authority. Each domain authority
is responsible for managing the domain authorities at the next level or the data
owners/consumers in its domain.

17

4.3.3 SHARED RESOURCES AND TRUSTED AUTHORITY


The trusted authority acts as the root of trust and authorizes the top-level domain
authorities. A domain authority is trusted by its subordinate domain authorities or users that it
administrates, but may try to get the private keys of users outside its domain. Users may try to
access data files either within or outside the scope of their access privileges, so malicious users
may collude with each other to get sensitive files beyond their privileges. The trusted authority is
responsible for generating and distributing system parameters and root master keys as well as
authorizing the top-level domain authorities. A domain authority is responsible for delegating
keys to subordinate domain authorities at the next level or users in its domain. Each user in the
system is assigned a key structure which specifies the attributes associated with the users
decryption key.

SYSTEM ARCHITECTURE

18

PRIVILEGES

ATTRIBUTE BASED

APPLICATION

DOMAIN AUTHORITY
CHECK
OWNER FILE

CONSUMER FILE

CLOUD OS
TRUSTED AUTHORITY
APPROVE

CLOUD USERS

Fig.5 SYSTEM ARCHITECTURE

4.4 HASBE CHARACTERISTICS


It is generally tree structured, thereby separating the attributes such as team leader,
Human resources and employee and give them privileges according to the designation. The
abstraction

is done at each level. Separate levels are provided such that to give access

permission with specified constraints.


Cloud computing has emerged as one of the most influential paradigms in the IT industry
in recent years. Since this new computing technology requires users to entrust their valuable data
19

to cloud providers, there have been increasing security and privacy concerns on outsourced data.
Several schemes employing attribute-based encryption (ABE) have been proposed for access
control of outsourced data in cloud computing; however, most of them suffer from inflexibility in
implementing complex access control policies. In order to realize scalable, flexible, and finegrained access control of outsourced data in cloud computing, in this paper, we propose
hierarchical attribute-set-based encryption (HASBE) by extending ciphertext-policy attribute-setbased encryption (ASBE) with a hierarchical structure of users. The proposed scheme not only
achieves scalability due to its hierarchical structure, but also inherits flexibility and fine-grained
access control in supporting compound attributes of ASBE. In addition, HASBE employs
multiple value assignments for access expiration time to deal with user revocation more
efficiently than existing schemes.
We formally prove the security of HASBE based on security of the ciphertext-policy
attribute-based encryption (CP-ABE) scheme by Bethencourt et al. and analyze its performance
and computational complexity. We implement our scheme and show that it is both efficient and
flexible in dealing with access control for outsourced data in cloud computing with
comprehensive experiments.

4.5 REASONS FOR CHOOSING KP-ABE

Randomness to prevent collusion.


Uses threshold gates ie checks for constraints/conditions.
Satisfy the cipher text key policy can decrypt its attributes.
Delegation properties handover of rights

4.6 KP-ABE MECHANISM


Cipher text is associated with the set of attributes, decryption key is associated with tree
structure .It provides session expiration time to deal with user revocation. The proposed
mechanism provides security based on public and master keys for domain an trusted authorities.

4.7 ENCRYPTION ALGORITHM


20

The ElGamal Algorithm provides an alternative to the RSA for public key encryption.

Security of the RSA depends on the (presumed) difficulty of factoring large integers.
Security of the ElGamal algorithm depends on the (presumed) difficulty of computing
discrete logs in a large prime modulus.

ElGamal has the disadvantage that the cipher text is twice as long as the plaintext.
It has the advantage the same plaintext gives a different cipher text each time it is encrypted.
A chooses
i) A large prime pA (say 200 to 300 digits),
ii) A primitive element A modulo Pa)
iii) A (possibly random) integer dA with 2 dA pA 2.
A computes
iv) A= A dA (mod pA).
A s public key is (pA, A, A). Her private key is dA.
B encrypts a short message M (M < pA) and sends it to
A like this:
i) B chooses a random integer k (which he keeps secret).
ii) B computes r A
k (mod pA) and t A
kM (mod pA), and then discards k.
B sends his encrypted message (r, t) to A.
Example: Alice chooses pA = 107, A = 2, dA = 67, and she computes A = 267 94 (mod
107). Her public key is ( pA, A, A) = (2,67,94), and her private key is dA = 67. B wants to
send the message "B" (66 in ASCII) to A.
He chooses a random integer k = 45 and encrypts M = 66 as (r, t) = (Ak, A kM) (2 pow
45,94 pow 45 66) (28, 9) (mod 107). He sends the encrypted message (28, 9) to Alice. Alice
receives the message (r, t) = (28, 9), and using her private key dA = 67 she decrypts to
tr-dA = 9.28 pow -67 9 .28 pow(10667) 9.43 66 (mod 107).

4.8Overall Description

21

Cloud users store the datas and retrieve the datas from cloud server. Domain Authority
and Trusted Authority monitor data owner and data consumer and secure the datas. User depend
upon his privileges retrieve the datas.

Product Features
To address the critical challenge of keeping cloud secure, Attribute based encryption is
proposed. A Hierarchical Attribute-Based Solution for Flexible and Scalable Access Control in
Cloud Computing

User Classes and Characteristics


There are two main areas that are related to our proposal :

DomainAuthority: Responsible for find the user attributes to give privileges for users.
TrustedAuthority: Responsible for encrypting the datas and give approval for data
consumers.

4.9 Design and Implementation Constraints


Constraints in Analysis

Constraints as Informal Text


Constraints as Operational Restrictions
Constraints Integrated in Existing Model Concepts
Constraints as a Separate Concept
Constraints Implied by the Model Structure

Constraints in Design

Determination of the Involved Classes

Determination of the Involved Objects

Determination of the Involved Actions

Determination of the Require Clauses

Global actions and Constraint Realization

Constraints in Implementation
The traditional method to protect sensitive data outsourced to third parties
is to store encrypted data on servers, while the decryption keys are disclosed to authorize users
22

only. However, there are several drawbacks about this trivial solution. First of all, such a solution
requires an efficient key management mechanism to distribute decryption keys to authorized
users, which has been proven to be very difficult. Next, this approach lacks scalability and
flexibility; as the number of authorized users becomes large, the solution will not be efficient
anymore. In case a previously legitimate user needs to be revoked, related data has to be reencrypted and new keys must be distributed to existing legitimate users again. Last but not least,
data owners need to be online all the time so as to encrypt or re-encrypt data and distribute keys
to authorize users.

System Features
We extend ASBE with a hierarchical structure to effectively delegate the trusted
authoritys private attribute key generation operation to lower-level domain authorities. By doing
so, the workload of the trusted root authority is shifted to lower-level domain authorities, which
can provide attribute key generations for end users. Thus, this hierarchical structure achieves
great scalability. Yu et al.s scheme, however, only has one authority to deal with key generation,
which is not scalable for large-scale cloud computing applications.

CHAPTER 6
SYSTEM DESIGN
6.1 DATA FLOW DIAGRAM
FIRST LEVEL:

23

Xampp Server

Installation

Domain Authority

Cloud OS

SECOND LEVEL

Cloud OS

Attribute Based
Encryption

Trusted
Authority

Cloud Server

THIRD LEVEL

24

Data
Owner

Trusted Authority

Cloud OS
Data
Consumer

Cloud Server

FIG.6 DATAFLOW DIAGRAM


6.2 USE CASE DIAGRAM

FIG.7 USE CASE DIAGRAM

25

6.3 CLASS DIAGRAM

FIG.8 CLASS DIAGRAM

26

6.4 ACTIVITY DIAGRAM

FIG.9 ACTIVITY DIAGRAM

27

6.5 SEQUENCE DIAGRAM

Fig.10 SEQUENCE DIAGRAM

28

6.6 COLLABORATION DIAGRAM

FIG.11 COLLABORATION DIAGRAM

29

CHAPTER 6
TECHNOLOGIES USED
5.1 JAVA
It is a Platform Independent. Java is an object-oriented programming language developed
initially by James Gosling and colleagues at Sun Microsystems. The language, initially called
Oak was intended to replace C++, although the feature set better resembles that of Objective C.

5.2 INTRODUCTION TO JAVA


Java has been around since 1991, developed by a small team of Sun Microsystems
developers in a project originally called the Green project. The intent of the project was to
develop a platform-independent software technology that would be used in the consumer
electronics industry. The language that the team created was originally called Oak. The first
implementation of Oak was in a PDA-type device called Star Seven (*7) that consisted of the
Oak language, an operating system called GreenOS, a user interface, and hardware. The name *7
was derived from the telephone sequence that was used in the team's office and that was dialed in
order to answer any ringing telephone from any other phone in the office.Around the time the
First Person project was floundering in consumer electronics, a new craze was gaining
momentum in America the craze was called "Web surfing The World Wide Web, a name
applied to the Internet's millions of linked HTML documents was suddenly becoming popular for
use by the masses. The reason for this was the introduction of a graphical Web browser called
Mosaic, developed by ncSA. The browser simplified Web browsing by combining text and
graphics into a single interface to eliminate the need for users to learn many confusing UNIX and
DOS commands. Navigating around the Web was much easier using Mosaic.

5.3 WORKING OF JAVA


For those who are new to object-oriented programming, the concept of a class will be new to
you. Simplistically, a class is the definition for a segment of code that can contain both data
30

called attributes and functions called methods.When the interpreter executes a class, it looks for
a particular method by the name of main, which will sound familiar to C programmers. The main
method is passed as a parameter an array of strings and is declared as a static method. 5.4 THE

JAVA PROGRAMMING LANGUAGE


Java is a high-level programming language that is all of the following:

Simple

Object-oriented

Distributed

Interpreted
Robust
Secure
Architecture-neutral
Portable
High-performance
Multithreaded
Dynamic

Java is unusual in that each Java program is both co implied and interpreted. With a
compiler, you translate a Java program into an intermediate language called Java byte codes
the platform independent codes interpreted by the Java interpreter. With an interpreter, each
Java byte code instruction is parsed and run on the computer. Compilation happens just once;
interpretation occurs each time the program is executed.

5.5 INTRODUCTION TO JSP


Java Server Pages or JSP for short is Sun's solution for developing dynamic web sites.
JSP provide excellent server side scripting support for creating database driven web applications.
JSP enable the developers to directly insert java code into jsp file, this makes the development
process very simple and its maintenance also becomes very easy. JSP pages are efficient, it loads
into the web servers memory on receiving the request very first time and the subsequent calls
31

are served within a very short period of time. In today's environment most web sites servers
dynamic pages based on user request. Database is very convenient way to store the data of users
and other things. JDBC provide excellent database connectivity in heterogeneous database
environment. Using JSP and JDBC its very easy to develop database driven web
application. Java is known for its characteristic of "write once, run anywhere." JSP pages are
platform independent. Your port your .jsp pages to any platform.

5.6 THE LIFE CYCLE OF A JSP PAGE


A JSP page services requests as a servlet. Thus, the life cycle and many of the capabilities
of JSP pages are determined by Java Servlet technology.When a request is mapped to a JSP page,
it is handled by a special servlet that first checks whether the JSP page's servlet is older than the
JSP page. If it is, it translates the JSP page into a servlet class and compiles the class. During
development, one of the advantages of JSP pages over servlets is that the build process is
performed automatically.

5.7 INTRODUCTION FOR MYSQL


MySQL is a relational database management system (RDBMS) that runs as a server
providing multi-user access to a number of databases. The MySQL development project has
made its source code available under the terms of the GNU General Public License, as well as
under a variety of proprietary agreements. MySQL was owned and sponsored by a single forprofit firm, the Swedish company MySQL AB, now owned by Oracle Corporation.Free-software
projects that require a full-featured database management system often use MySQL. Where the
project may lead to something in commercial use, the license terms need careful study. Some
free software project examples: Joomla, WordPress, phpBB, Drupal and other software built on
the LAMP software stack. MySQL is also used in many high-profile, large-scale World Wide
Web products, including Wikipedia, Google and Facebook.

5.8 USES OF MYSQL


MySQL is a popular choice of database for use in web applications, and is a central
component of the widely used LAMP web application software stack LAMP is an acronym for
"Linux, Apache, MySQL, PHP". Its popularity is closely tied to the popularity of PHP. MySQL is
32

used in some of the most frequently visited web sites on the Internet, including Flickr,
Nokia.com, YouTube and as previously mentioned; Wikipedia, Google and Facebook.

5.9 INTRODUCTION TO SERVLET


A servlet is a Java programming language class used to extend the capabilities of servers
that host applications accessed via a request-response programming model. Although servlets can
respond to any type of request, they are commonly used to extend the applications hosted by
Web servers. Thus, it can be thought of as a Java Applet that runs on a server instead of a
browser.A Servlet is a Java class in Java EE that conforms to the Java Servlet API, a protocol by
which a Java class may respond to requests. They are not tied to a specific client-server protocol,
but are most often used with the HTTP protocol. Therefore, the word "Servlet" is often used in
the meaning of "HTTP Servlet".Thus, a software developer may use a servlet to add dynamic
content to a Web server using the Java platform. The generated content is commonly HTML, but
may be other data such as XML. Servlets are the Java counterpart to non-Java dynamic Web
content technologies such as CGI and ASP.NET. Servlets can maintain state in session variables
across many server transactions by using HTTP cookies, or URL rewriting.To deploy and run a
Servlet, a Web container must be used. A Web container is essentially the component of a Web
server that interacts with the servlets. The Web container is responsible for managing the
lifecycle of servlets, mapping a URL to a particular servlet and ensuring that the URL requester
has

the

correct

access

rights.The

servlet API,

contained

in

the Java

package hierarchy javax.servlet, defines the expected interactions of the Web container and a
servlet.A Servlet is an object that receives a request and generates a response based on that
request. The basic servlet package defines Java objects to represent servlet requests and
responses, as well as objects to reflect the servlet's conFiguration parameters and execution
environment. The package javax.servlet.http defines HTTP-specific subclasses of the generic
servlet elements, including session management objects that track multiple requests and
responses between the Web server and a client. Servlets may be packaged in a WAR file as
a Web application.

33

5.10 INTRODUCTION FOR XAMPP


DEFINITIONS OF XAMPP ON THE WEB
XAMPP (or) is a free and open source cross-platform web server package, consisting
mainly of the Apache HTTP Server, MySQL database, and interpreters for scripts had written in
the PHP and Perl programming languages.
COMPANIES
Using an eyeOS solution for your company can provide you lots of benefits. From
porting your existent apps to your new system to provide you a quality support, you will be able
to choose between the best services to provide your company the perfect solution.
PUBLIC
For public environments, eyeOS can provide a system where, once a user has signed up,
he/she can access the network from any of the public points, having his/her personal desktop and
files. A single eyeOS Server can handle hundreds of thousands of users! You can visit public
environment.
OWN CLOUD OPERATING SYSTEM WITH EYEOS
A cloud OS simply refers to an operating system that resides on the Web and you can
access to it anytime, anywhere as long as you have an Internet connection.While there are plenty
of cloud OS out there that you can sign up and use for free, there might be instances where you
want to have your own dedicated cloud OS. First of all, signing up a free account with thirdparty cloud OS often means that you have limited file storage space and all your data are stored
in other peoples server. Next, the connection speed is dependent on the number of active users at
any time. The more popular the site is, the slower it will get when you are using it. EyeOS is
free and open source cloud OS software that you can install on your own Web server.

34

CHAPTER 7
SYSTEM TESTING
7.1 TESTING
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 error. A successful test
is one that uncovers an as-yet- undiscovered error. System testing is the stage of implementation,
which is aimed at ensuring that the system works accurately and efficiently as expected before
live operation commences. It verifies that the whole set of programs hang together. System
testing requires a test consists of several key activities and steps for run program, string, system
and is important in adopting a successful new system. This is the last chance to detect and correct
errors before the system is installed for user acceptance testing.
The software testing process commences once the program is created and the
documentation and related data structures are designed. Software testing is essential for
correcting errors. Otherwise the program or the project is not said to be complete. Software
testing is the critical element of software quality assurance and represents the ultimate the review
of specification design and coding. Testing is the process of executing the program with the
intent of finding the error. A good test case design is one that as a probability of finding an yet
undiscovered error. A successful test is one that uncovers an yet undiscovered error. Any
engineering product can be tested in one of the two ways.

7.2 WHITE BOX TESTING

35

This testing is also called as Glass box testing. In this testing, by knowing the specific functions
that a product has been design to perform test can be conducted that demonstrate each function is
fully operational at the same time searching for errors in each function. It is a test case design
method that uses the control structure of the procedural design to derive test cases. Basis path
testing is a white box testing.Basis path testing:

Flow graph notation


Cyclometric complexity
Deriving test cases
Graph matrices Control

7.3 BLACK BOX TESTING


In this testing by knowing the internal operation of a product, test can be
conducted to ensure that all gears mesh, that is the internal operation performs according to
specification and all internal components have been adequately exercised. It fundamentally
focuses on the functional requirements of the software.
The steps involved in black box test case design are:

Graph based testing methods


Equivalence partitioning
Boundary value analysis
Comparison testing

7.4 SOFTWARE TESTING STRATEGIES


A software testing strategy provides a road map for the software developer. Testing is a
set activity that can be planned in advance and conducted systematically. For this reason a
template for software testing a set of steps into which we can place specific test case design
methods should be strategy should have the following characteristics:

Testing begins at the module level and works outward toward the integration of

the entire computer based system.


Different testing techniques are appropriate at different points in time.
The developer of the software and an independent test group conducts testing.
Testing and Debugging are different activities but debugging must be
accommodated in any testing strategy.
36

7.5 INTEGRATION TESTING


Integration testing is a systematic technique for constructing the program structure while
at the same time conducting tests to uncover errors associated with. Individual modules, which
are highly prone to interface errors, should not be assumed to work instantly when we put them
together. The problem of course, is putting them together- interfacing. There may be the
chances of data lost across on anothers sub functions, when combined may not produce the
desired major function; individually acceptable impression may be magnified to unacceptable
levels; global data structures can present problems.

7.6 PROGRAM TESTING


The logical and syntax errors have been pointed out by program testing. A syntax error is
an error in a program statement that in violates one or more rules of the language in which it is
written. An improperly defined field dimension or omitted keywords are common syntax error.
These errors are shown through error messages generated by the computer. A logic error on the
other hand deals with the incorrect data fields, out-off-range items and invalid combinations.
Since the compiler s will not deduct logical error, the programmer must examine the output.
Condition testing exercises the logical conditions contained in a module. The possible types of
elements in a condition include a Boolean operator, Boolean variable, a pair of Boolean
parentheses A relational operator or on arithmetic expression. Condition testing method focuses
on testing each condition in the program the purpose of condition test is to deduct not only
errors in the condition of a program but also other a errors in the program.

7.7 SECURITY TESTING:


Security testing attempts to verify the protection mechanisms built in to a system well, in
fact, protect it from improper penetration. The system security must be tested for invulnerability
from frontal attack must also be tested for invulnerability from rear attack. During security, the
tester places the role of individual who desires to penetrate system.

7.8 VALIDATION TESTING

37

At the culmination of integration testing, software is completely assembled as a


package. Interfacing errors have been uncovered and corrected and a final series of software testvalidation testing begins. Validation testing can be defined in many ways, but a simple definition
is that validation succeeds when the software functions in manner that is reasonably expected by
the customer. Software validation is achieved through a series of black box tests that
demonstrate conformity with requirement. After validation test has been conducted, one of two
conditions exists.

The function or performance characteristics confirm to specifications and are


accepted.

A validation from specification is uncovered and a deficiency created.

Deviation or errors discovered at this step in this project is corrected prior to completion
of the project with the help of the user by negotiating to establish a method for resolving
deficiencies. Thus the proposed system under consideration has been tested by using validation
testing and found to be working satisfactorily. Though there were deficiencies in the system they
were not catastrophic

7.9 USER ACCEPTANCE TESTING


User acceptance of the system is key factor for the success of any system. The system
under consideration is tested for user acceptance by constantly keeping in touch with prospective
system and user at the time of developing and making changes whenever required. This is done
in regarding to the following points.

Input screen design.

Output screen design.

38

CHAPTER 8
CONCLUSION
The main aim of this paper is to increase the performance of cloud, based on customized
Hierarchical Attribute Based Solution concepts and to provide additional security for cloud using
Customized HASBE. The privileges are set by access tree policy which is hierarchically
structured. The access can be done by the data consumers if and only they satisfy all the
attributes in tree hierarchy. Users may try to access data files either within or outside the scope of
their access privileges, so malicious users may collude with each other to get sensitive files
beyond their privileges. The regeneration of the colluded data is also recovered.

39

CHAPTER 9
FUTURE ENHANCEMENTS
The Keypolicy -ABE can be enhanced by using different attribute based encryption policy in
order to increase the performance based on the security in cloud computing environment. The
access policy issues have been overcome but the integrity issues to be rectified using the
homomorphic token generation algorithms.

40

APPENDIX I
SNAPSHOTS
1.MAIN PAGE

Fig.12 HOME PAGE

41

Fig.13 NEW USER REGISTRATION

42

FIG.14 REGISTERED USER HOME PAGE

43

Fig.15 SERVICES PROVIDED

44

Fig.16 UPLOADING AND ENCRYPTION KEY

45

Fig.17 FILE LIST

46

Fig.18 REQUEST AND APPROVAL

Fig.19 KEY LIST

47

Fig.20 FILE DELETION

48

Fig.21 FILE INTRUSION

49

Fig.21 AFTER INTRUSION

50

51

52

53

54

Fig.22 SERVER RESPONSES

55

56

57

Fig.23 DATABASE

58

59

60

61

Fig.24 RECOVERY OF COLLUDED DATA

62

REFERENCES
[1]M. Ion, G. Russelloand B. Crispo, Enforcing Multi-user Access Policies to Encrypted
Cloud Databases, International Symposium on Policies for Distributed Systems and Networks,
(2011) June 6-8; Trento, Italy
[2]S. Yu, C. Wang, K. Ren, and W. Lou. Achieving Secure, Scalable, and Fine-grained Data
Access Control in Cloud Computing. In Proceedings of IEEE INFOCOM 2010, pages 534-542.
[3] G.Wang, Q. Liu, and J.Wu, Hierachicalattibute-based encryption forfine-grained access
control in cloud storage services, in Proc. ACMConf. Computer and Communications Security
(ACM CCS), Chicago,IL, 2010.
[4]R. Bobba, H. Khurana, and M. Prabhakaran, Attribute-sets: A practically motivated
enhancement to attribute-based encryption, in Proc. ESORICS, Saint Malo, France, 2009.
[5] Xiaoyan Hong, Dijiang Huang, Mario Gerla and Zhen Cao. SAT: Building New Trust
Architecture for Vehicular Networks. the Third International Workshop on Mobility in the
Evolving Internet Architecture (MobiArch08), ACM SIGCOMM workshop, Seattle, WA.
August 22, 2008.
[6]Y. H. Hwang and P. J. Lee, Public Key Encryption with Conjunctive Keyword Search and Its
Extension to a Multi-User System,in Proc. of Pairing07, 2007, pp. 3145
[7] V. Goyal, O. Pandey, A. Sahai, and B.Waters, Attibute-based encryption for fine-grained
access control of encrypted data, in Proc. ACMConf. Computer and Communications Security
(ACM CCS), Alexandria, VA, 2006.
[8] A. Sahai and B. Waters, Fuzzy identity based encryption, in Proc.Acvances in Cryptology
Eurocrypt, 2005, vol. 3494, LNCS, pp.457473
[9] Dan Boneh,XavierBoyen and Eu-Jin Goh,Hierarchical Identity Based Encryption with
Constant Size Ciphertext, , in Proc.Acvances in CryptologyEurocrypt, 2005, vol. 3494,
LNCS, pp.723-762
[10] J. Bethencourt, A. Sahai, and B. Waters.Ciphertext-policy attributebased encryption. In
proceedings of the 28th IEEE Symposium on Security and Privacy, Oakland, 2005.

63

[11]J. Li, N Li, and W. H. Winsborough, Automated trust negotiation using cryptographic
credentials, in Proc. ACM Conf. Computer andCommunications Security (CCS), Alexandria,
VA, 2005.
[12]J. Haerri, M. Fiore, F. Filali, and C. Bonnet. VanetMobiSim: generating realistic mobility
patterns for VANETs. ACM International Workshopon Vehicular Ad Hoc Networks (VANET),
2005
[13]Wang, H., Jha, S., McDaniel, P., and Livny, M. 2004. Security policy reconciliation in
distributed computing environments.In Proceedings of 5th International Workshop on Policies
for Distributed Systems and Networks (Policy 2004). IEEE Computer Society Press, 137146.
Yorktown Heights, NY.
[14]T. Yu and M. Winslett, A unified scheme for resource protection inautomated trust
negotiation, in Proc. IEEE Symp. Security and Privacy,Berkeley, CA, 2003.
[15] D. Boneh and X.Boyen. Efficient Selective-ID Secure Identity Based Encryption Without
Random Oracles. In Advances in Cryptology Eurocrypt, volume 3027 of LNCS, pages 223-238.
Springer, 2003
[16]A. Shamir. Identity Based Cryptosystems and Signature Schemes. In Advances in
Cryptology CCRYPTO, volume 196 of LNCS, pages 37C53. Springer, 1984.

64

You might also like