Final Report Chapters
Final Report Chapters
INTRODUCTION
1
and realize secure resource sharing. In traditional access control methods, we
generally assume data owners and the storage server are in the same secure domain
and the server is fully trusted. However, in the cloud computing environment,
cloud service providers may be attacked by malicious attackers. These attacks may
leak the private information of users for commercial interests as the data owners
commonly store decrypted data in cloud servers. How to realize access control to
the encrypted data and ensure the confidentiality of data files of users in an
untrusted environment are problems that must be solved by cloud computing
technologies and applications. Moreover, since the number of users is large in a
cloud computing environment, how to realize scalable, flexible and fine-grained
access control is strongly desired in the service-oriented cloud computing model.
This paper proposes a hierarchical ciphertext-policy at-tribute-based encryption
(CP-ABE) access control scheme with constant-size ciphertext that can realize
scalable, flexible, and fine-grained access control of outsourced data in cloud
computing. Our contributions are: the proposed scheme adopts CP-ABE with
constant cipher text size and maintains the size of ciphertext and the computation
of bilinear pairing at a constant value, which improves the efficiency of the system
and reduces the extra overhead of space storage, data transmission and
computation. Second, we design a hierarchical access control system. This system
supports inheritance of authorization that reduces the burden and risk in the case of
single authority. Finally, we prove our scheme has indistinguishable security under
an adaptive chosen ciphertext attack and we analyze the performance of our
scheme. We present a simulation model to apply our scheme in a cloud
environment. The rest of this paper is organized as follows.
2
1.2 OBJECTIVE
3
CHAPTER 2
LITERARTURE SURVEY
4
of security only once at translation time rather than repeatedly at execution time.
The model is used to explain security features of several existing systems, and
serves as a framework for a proposal for general security system implementation
within today's languages and operating systems.
6
CHAPTER 3
SYSTEM DESIGN
In the Existing system is in cloud computing, users store their data files in
cloud servers. Thus, it is crucial to prevent unauthorized access to these resources
and realize secure resource sharing. In traditional access control methods, we
generally assume data owners and the storage server are in the same secure domain
and the server is fully trusted. In cloud computing environment, cloud service
providers may be attacked by malicious attackers. These attacks may leak the
private information of users for commercial interests as the data owners commonly
store decrypted data in cloud servers. How to realize access control to the
encrypted data and ensure the confidentiality of data files of users in an untrusted
environment are problems that must be solved by cloud computing technologies
and applications.
DISADVANTAGE
7
of bilinear pairing evaluations to a constant are fixed, which improves the
efficiency of the system and reduces the extra overhead of space storage, data
transmission and computation. Second, we design a hierarchical access control
system. This system supports inheritance of authorization that reduces the burden
and risk in the case of single authority. Finally, we prove our scheme has
indistinguishable security under an adaptive chosen ciphertext attack and we
analyze the performance of our scheme.
ADVANTAGE
HARDWARE REQUIREMENTS
ODBC
Microsoft Open Database Connectivity (ODBC) is a standard programming
interface for application developers and database systems providers. Before ODBC
became a de facto standard for Windows programs to interface with database
systems, programmers had to use proprietary languages for each database they
wanted to connect to. Now, ODBC has made the choice of the database system
almost irrelevant from a coding perspective, which is as it should be. Application
developers have much more important things to worry about than the syntax that is
needed to port their program from one database to another when business needs
suddenly change.
Through the ODBC Administrator in Control Panel, you can specify the
particular database that is associated with a data source that an ODBC application
9
program is written to use. Think of an ODBC data source as a door with a name on
it. Each door will lead you to a particular database. For example, the data source
named Sales Figures might be a MYSQL Server database, whereas the Accounts
Payable data source could refer to an Access database. The physical database
referred to by a data source can reside anywhere on the LAN.
The ODBC system files are not installed on your system by Windows 95.
Rather, they are installed when you setup a separate database application, such as
MYSQL Server Client or Visual Basic 4.0. When the ODBC icon is installed in
Control Panel, it uses a file called ODBCINST.DLL. It is also possible to
administer your ODBC data sources through a stand-alone program called
ODBCADM.EXE. There is a 16-bit and a 32-bit version of this program and each
maintains a separate list of ODBC data Sources.
10
The advantages of this scheme are so numerous that you are probably
thinking there must be some catch. The only disadvantage of ODBC is that it isn’t
as efficient as talking directly to the native database interface. ODBC has had
many detractors make the charge that it is too slow. Microsoft has always claimed
that the critical factor in performance is the quality of the driver software that is
used. In our humble opinion, this is true. The availability of good ODBC drivers
has improved a great deal recently. And anyway, the criticism about performance
is somewhat analogous to those who said that compilers would never match the
speed of pure assembly language. Maybe not, but the compiler (or ODBC) gives
you the opportunity to write cleaner programs, which means you finish sooner.
Meanwhile, computers get faster every year.
JDBC
In an effort to set an independent database standard API for Java, Sun
Microsystems developed Java Database Connectivity, or JDBC. JDBC offers a
generic MYSQL database access mechanism that provides a consistent interface to
a variety of RDBMS. This consistent interface is achieved through the use of
“plug-in” database connectivity modules, or drivers. If a database vendor wishes to
have JDBC support, he or she must provide the driver for each platform that the
database and Java run on.
To gain a wider acceptance of JDBC, Sun based JDBC’s framework on
ODBC. As you discovered earlier in this chapter, ODBC has widespread support
on a variety of platforms. Basing JDBC on ODBC will allow vendors to bring
JDBC drivers to market much faster than developing a completely new
connectivity solution.
11
JDBC was announced in March of 1996. It was released for a 90 day public
review that ended June 8, 1996. Because of user input, the final JDBC v1.0
specification was released soon after.
The remainder of this section will cover enough information about JDBC for you
to know what it is about and how to use it effectively. This is by no means a
complete overview of JDBC. That would fill an entire book.
JDBC Goals
Few software packages are designed without goals in mind. JDBC is one
that, because of its many goals, drove the development of the API. These goals, in
conjunction with early reviewer feedback, have finalized the JDBC class library
into a solid framework for building database applications in Java.
The goals that were set for JDBC are important. They will give you some
insight as to why certain classes and functionalities behave the way they do.
2. MYSQL Conformance
MYSQL syntax varies as you move from database vendor to database
vendor. In an effort to support a wide variety of vendors, JDBC will allow any
12
query statement to be passed through it to the underlying database driver. This
allows the connectivity module to handle non-standard functionality in a
manner that is suitable for its users.
4. Provide a Java interface that is consistent with the rest of the Java
system
Because of Java’s acceptance in the user community thus far, the designers
feel that they should not stray from the current design of the core Java system.
5. 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.
13
these queries should be simple to perform with JDBC. However, more complex
MYSQL statements should also be possible.
14
3.5 URL DIAGRAMS
3.5.1 DATA FLOW DIAGRAM
15
Fig no.3.5.1 Data Flow Diagram
3.5.2 ER DIAGRAM
16
Fig no.3.5.2 ER Diagram
17
Register
Login
View File
user Details
owner Details
Send Request
Accept requesst
Download File
18
Domain Manager Data Owner
+Attribute1: User Name +Attribute1: User Name
+Attribute2: Password +Attribute2: Password
+Operation1(): Domain Creation +Operation1(): Upload File
+Operation2(): View file +Operation2(): Accept Request
+Operation3(): Verify and Allocate Domain
19
Domain Manager Data Owner Database Admin (TTP) Data User
1 : Login()
2 : Domain creation()
3 : View file()
5 : Login()
6 : Upload file()
7 : Login()
8 : Owner details()
9 : User details()
10 : Login()
11 : Send Request()
12 : Accept Request()
13 : Download file()
20
Register
Login
Domain creation
View file
Upload file
User Details
Owner Details
Send Request
Accept Request
Download file
CHAPTER 4
21
MODULES DESCRIPTION
4.1 MODULES
Root Authority
Domain Authority
Cloud Server
Data Owner
Data User
The root authority has the top authority and is responsible for
generating system parameters and authorizing top-level domain authorities.
Each domain authority is responsible for managing domain authorities at the
next level or the data owners/users in its domain. This inherited structure of
attribute authority reduces the computation and disperses the burden and risk of
the authority of the central attribute authority. Each data owner/consumer is
administrated by a domain authority.
The data owner first encrypts the data file using asymmetric
key DEK and then encrypts DEK by using the proposed scheme with a specific
access control policy. The data owner uploads the final cipher text and stores it
in the cloud servers. Whether a user can access and de-crypt the data file
depends on how to obtain the symmetric key, which is decided by the user’s set
of access attributes.
CHAPTER 5
LANGUAGE SPECIFICATIONS
23
5.1 JAVA TECHNOLOGY
Java technology is both a programming language and a platform.
Simple
Architecture neutral
Object oriented
Portable
Distributed
High performance
Interpreted
Multithreaded
Robust
Dynamic
Secure
24
platform. The interpreter parses and runs each Java byte code instruction on the
computer. Compilation happens just once; interpretation occurs each time the
program is executed.
You can think of Java bytecodes as the machine code instructions for the Java
Virtual Machine (Java VM). Every Java interpreter, whether it’s a development
tool or a Web browser that can run applets, is an implementation of the Java VM.
Java bytecodes help make “write once, run anywhere” possible. You can compile
your program into bytecodes on any platform that has a Java compiler. The
bytecodes can then be run on any implementation of the Java VM. That means that
as long as a computer has a Java VM, the same program written in the Java
programming language can run on Windows 2000, a Solaris workstation, or on an
iMac.
25
Fig no.5.1.1 JAVA TECHNOLOGY
26
widgets. The Java API is grouped into libraries of related classes and
interfaces; these libraries are known as packages. The next section, What
Can Java Technology Do ?. Highlights what functionality some of the
packages in the Java API provide.
The following figure depicts a program that’s running on the Java
platform. As the figure shows, the Java API and the virtual machine insulate
the program from the hardware.
Native code is code that after you compile it, the compiled code runs
on a specific hardware platform. As a platform-independent environment,
the Java platform can be a bit slower than native code. However, smart
compilers, well-tuned interpreters, and just-in-time bytecode compilers can
bring performance close to that of native code without threatening
portability.
Architectural Benefits
This architecture has a couple of useful features. It not only makes it easy to
manage component life cycles (each component manages the life cycle
notifications for its children), but also to dynamically assemble a running Tomcat
27
server instance that is based on the information that has been read from
configuration files at startup. In particular, the server.xml file is parsed at startup,
and its contents are used to instantiate and configure the defined elements, which
are then assembled into a running Tomcat instance. The server.xml file is read only
once, and edits to it will not be picked up until Tomcat is restarted. This
architecture also eases the configuration burden by allowing child containers to
inherit the configuration of their parent containers. For instance, a Realm defines a
data store that can be used for authentication and authorization of users who are
attempting to access protected resources within a web application. For ease of
configuration, a realm that is defined for an engine applies to all its children hosts
and contexts. At the same time, a particular child, such as a given context, may
override its inherited realm by specifying its own realm to be used in place of its
parent's realm.
5.3 SERVER
28
org.apache.catalina.core.StandardServer, but you can specify your own custom
implementation through the class Name attribute of the <Server> element.
A key aspect of the Server is that it opens a server socket on port 8005 (the
default) to listen a shutdown command (by default, this command is the text string
SHUTDOWN). When this shutdown command is received, the server gracefully
shuts itself down. For security reasons, the connection requesting the shutdown
must be initiated from the same machine that is running this instance of Tomcat. A
Server also provides an implementation of the Java Naming and Directory
Interface (JNDI) service, allowing you to register arbitrary objects (such as data
sources) or environment variables, by name. At runtime, individual components
(such as servlets) can retrieve this information by looking up the desired object
name in the server's JNDI bindings. While a JNDI implementation is not integral to
the functioning of a servlet container, it is part of the Java EE specification and is a
service that servlets have a right to expect from their application servers or servlet
containers. Implementing this service makes for easy portability of web
29
applications across containers. While there is always just one server instance
within a JVM, it is entirely possible to have multiple server instances running on a
single physical machine, each encased in its own JVM. Doing so insulates web
applications that are running on one VM from errors in applications that are
running on others, and simplifies maintenance by allowing a JVM to be restarted
independently of the others. This is one of the mechanisms used in a shared hosting
environment (the other is virtual hosting, which we will see shortly) where you
need isolation from other web applications that are running on the same physical
server.
5.4 SERVICE
While the Server represents the Tomcat instance itself, a Service represents
the set of request processing components within Tomcat. A Server can contain
more than one Service, where each service associates a group of Connector
components with a single Engine. Requests from clients are received on a
connector, which in turn funnels them through into the engine, which is the key
request processing component within Tomcat. The image shows connectors for
HTTP, HTTPS, and the Apache JServ Protocol (AJP). There is very little reason to
modify this element, and the default Service instance is usually sufficient.
30
Fig no.5.4 SERVICE
A hint as to when you might need more than one Service instance can be found in
the above image. As shown, a service aggregates connectors, each of which
monitors a given IP address and port, and responds in a given protocol. An
example use case for having multiple services, therefore, is when you want to
partition your services (and their contained engines, hosts, and web applications)
by IP address and/or port number.
For instance, you might configure your firewall to expose the connectors for
one service to an external audience, while restricting your other service to hosting
intranet applications that are visible only to internal users. This would ensure that
an external user could never access your Intranet application, as that access would
be blocked by the firewall. The Service, therefore, is nothing more than a grouping
construct. It does not currently add any other value to the proceedings.
5.5 CONNECTORS
31
protocols that are used by clients, such as HTTP, HTTPS, or the Apache JServ
Protocol (AJP). Tomcat can be configured to work in two modes—Standalone or
in Conjunction with a separate web server. In standalone mode,
32
Fig no.5.6.1 MYSQL Server Architecture Diagram
For this purpose, it defined an xml data type that could be used either as a data type
in database columns or as literals in queries.
XML columns can be associated with XSD schemas; XML data being stored
is verified against the schema. XML is converted to an internal binary data type
before being stored in the database. Specialized indexing methods were made
available for XML data. XML data is queried using XQuery; MYSQL Server 2005
added some extensions to the T-MYSQL language to allow embedding XQuery
queries in T-MYSQL. In addition, it also defines a new extension to XQuery,
called XML DML that allows query-based modifications to XML data. MYSQL
Server 2005 also allows a database server to be exposed over web services using
Tabular Data Stream (TDS) packets encapsulated within SOAP (protocol)
33
requests. When the data is accessed over web services, results are returned as
XML.
CHAPTER 6
Testing is vital to the success of the system. System testing makes a logical
assumption that if all parts of the system are correct, the goal will be successfully
achieved. In the testing process we test the actual system in an organization and
gather errors from the new system operates in full efficiency as stated. System
testing is the stage of implementation, which is aimed to ensuring that the system
works accurately and efficiently.
34
In the testing process we test the actual system in an organization and gather
errors from the new system and take initiatives to correct the same. All the front-
end and back-end connectivity are tested to be sure that the new system operates in
full efficiency as stated. System testing is the stage of implementation, which is
aimed at ensuring that the system works accurately and efficiently.
The main objective of testing is to uncover errors from the system. For the
uncovering process we have to give proper input data to the system. So we should
have more conscious to give input data. It is important to give correct inputs to
efficient testing.
Testing is done for each module. After testing all the modules, the modules are
integrated and testing of the final system is done with the test data, specially
designed to show that the system will operate successfully in all its aspects
conditions. Thus the system testing is a confirmation that all is correct and an
opportunity to show the user that the system works.
This will create two problems, Time delay between the cause and appearance of
the problem. The effect of the system errors on files and records within the
system.The purpose of the system testing is to consider all the likely variations to
which it will be suggested and push the system to its limits
The testing process focuses on logical intervals of the software ensuring that all
the statements have been tested and on the function intervals (i.e.,) conducting tests
to uncover errors and ensure that defined inputs will produce actual results that
agree with the required results. Testing has to be done using the two common steps
Unit testing and Integration testing. In the project system testing is made as
follows:
35
The procedure level testing is made first. By giving improper inputs, the errors
occurred are noted and eliminated. This is the final step in system life cycle. Here
we implement the tested error-free system into real-life environment and make
necessary changes, which runs in an online fashion. Here system maintenance is
done every months or year based on company policies, and is checked for errors
like runtime errors, long run errors and other maintenances like table verification
and reports.
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
SOCIAL FEASIBILITY
This study is carried out to check the economic impact that the system will
have on the organization. The amount of fund that the company can pour into the
research and development of the system is limited. The expenditures must be
36
justified. Thus the developed system as well within the budget and this was
achieved because most of the technologies used are freely available. Only the
customized products had to be purchased.
This study is carried out to check the technical feasibility, that is, the
technical requirements of the system. Any system developed must not have a high
demand on the available technical resources. This will lead to high demands on the
available technical resources. This will lead to high demands being placed on the
client. The developed system must have a modest requirement, as only minimal or
null changes are required for implementing this system.
The aspect of study is to check the level of acceptance of the system by the
user. This includes the process of training the user to use the system efficiently.
The user must not feel threatened by the system, instead must accept it as a
necessity. The level of acceptance by the users solely depends on the methods that
are employed to educate the user about the system and to make him familiar with
it. His level of confidence must be raised so that he is also able to make some
constructive criticism, which is welcomed, as he is the final user of the system.
37
each module is found to be working satisfactorily as regard to the expected output
from the module.
CHAPTER 7
CONCLUSION AND FUTURE ENHANCEMENT
7.1 CONCLUSION
38
authorization which are the difficult problems to solve the traditional access
control. This paper proposes a structure of hierarchical attribute authority based on
cloud computing which reduces the burden and disperses the risk of the single
authority. The proposed scheme adopts CP-ABE with constant-size ciphertext that
solves the problem of the cipher text size depending linearly on the number of
attributes. Our scheme can maintain the size of ciphertext and the computation of
encryption and decryption at a constant value. Therefore, the scheme can improve
the efficiency of the system. We have performed some numerical simulation and
the testing results are coincident with the theoretical analysis. In addition, we prove
the scheme is of CCA2 security under the decision-al q-Bilinear Diffie-Hellman
Exponent assumption. Finally, we also demonstrate an application model in a
Hadoop distributed cloud environment. This shows our scheme has good
adaptability and scalability in cloud computing. In further research, we intend to
focus on making the CP-ABE algorithm simpler and more efficient along with
making it even more suitable for access control in a cloud environment.
The project has a very vast scope in future. The project can be implemented on
intranet in future. Project can be updated in near future as and when requirement
for the same arises, as it is very flexible in terms of expansion. With the Attribute
Based Data Sharing in Cloud Computing, fully functional the client is now able to
manage and hence run the entire work in a much better, accurate and error free
manner.
APPENDIX-A
39
SAMPLE CODING
INDEX.HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CP-ABE</title>
<link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
<!--[if lte IE 7]>
<link rel="stylesheet" href="css/ie.css" type="text/css" charset="utf-
8" />
<![endif]-->
</head>
<body>
<div id="header">
<a style="color: white;font-size: 30px;">ATTRIBUTE-BASED
DATA SHARING IN CLOUD COMPUTING
</a>
<div id="navigation">
<ul>
<li class="first selected"><a
href="index.html">Home</a></li>
<li><a href="User.jsp">User</a></li>
<li><a href="Data_owner.jsp">DataOwner</a></li>
<li><a href="Cloud_server.jsp">CloudServer</a></li>
40
<li><a
href="Root_authority.jsp">RootAuthority</a></li>
<li><a
href="Domain_authority.jsp">DomainAuthority</a></li>
</ul>
</div>
</div>
<div id="adbox"><br><br>
<center>
<img alt="" src="images/Architecture.jpg" style="width:
700px;height: 268px;">
</center>
<div class="footer">
</div>
</div>
<div id="footer">
<div id="newsletter">
</div
</div>
</body>
</html>
ROOT_USER_HOME.JSP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Business Solutions</title>
41
<link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
<!--[if lte IE 7]>
<link rel="stylesheet" href="css/ie.css" type="text/css" charset="utf-
8" />
<![endif]-->
</head>
<body>
<div id="header">
<a style="color: white;font-size: 30px;">ATTRIBUTE-BASED DATA SHARING
IN CLOUD COMPUTING</a>
<div id="navigation">
<ul>
<li><a href="Root_home.jsp">Home</a></li>
<li><a href="Root_domaindetails.jsp">Domain
Details</a></li>
<li><a href="Root_filedetails.jsp">File Details</a></li>
<li class="first selected"><a
href="Root_user_owner.jsp">User&Owner Details</a></li>
<li><a href="logout_page.jsp">Logout</a></li>
</ul>
</div>
</div> <!-- /#header -->
<div id="adbox" style="width: 1360px;"><br><br>
<center>
42
<font face="TimesNewRoman" style="color: Maroon;font-size:
20px;">View User & Owner Details</font>
<br><br>
<table style="width: 600px;">
<tr>
<th>Category</th>
<th>UserName</th>
<th>Email</th>
<th>Domain</th>
<th>Status</th>
</tr>
<tr style="height: 10px;"></tr>
<%
Connection con=DB.getconnection();
Statement st=null;
Statement st1=null;
st=con.createStatement();
st1=con.createStatement();
ResultSet rs=st.executeQuery("select * from userdetails");
while(rs.next()){
%>
<tr>
<td align="center">User</td>
<td align="center"><%=rs.getString("username") %></td>
<td align="center"><%=rs.getString("email") %></td>
<td align="center"><%=rs.getString("domain") %></td>
<td align="center"><%=rs.getString("status") %></td>
43
</tr>
<%} %>
<%
ResultSet rs1=st1.executeQuery("select * from ownerdetails");
while(rs1.next()){
%>
<tr>
<td align="center">Owner</td>
<td align="center"><%=rs1.getString("username") %></td>
<td align="center"><%=rs1.getString("email") %></td>
<td align="center"><%=rs1.getString("domain") %></td>
<td align="center"><%=rs1.getString("status") %></td>
</tr>
<%} %>
</table>
</center>
</div> <!-- /#adbox -->
<div id="footer">
<div id="newsletter">
</div>
</body>
</html>
DATA_OWNER_REGISTER:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
44
<title>DataOwner</title>
<link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
<!--[if lte IE 7]>
<link rel="stylesheet" href="css/ie.css" type="text/css" charset="utf-
8" />
<![endif]-->
</head>
<body>
<div id="header">
<a style="color: white;font-size: 30px;">ATTRIBUTE-BASED DATA SHARING
IN CLOUD COMPUTING</a>
<div id="navigation">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="User.jsp">User</a></li>
<li class="first selected"><a
href="Data_owner.jsp">DataOwner</a></li>
<li><a href="Cloud_server.jsp">CloudServer</a></li>
<li><a
</ul>
</div>
45
<img alt="" src="images/logo.png" style="width: 600px;height:
268px;">
</div>
<div style="width: 760px;float: right;">
<center><font face="TimesNewRoman" style="color: Maroon;font-size:
20px;"> Data Owner Registration Page</font>
<form action="Dataowner_regcheck.jsp" >
<table>
<tr style="height: 20px;"></tr>
<tr>
<td style="color: black;font-size: 15px;">User Name</td>
<td style="color: black;font-size: 15px;"><input type="text" name="name"
required="" style="background-color: white;color: black;border-radius:
4px;height: 30px;font-size: 20px;width: 180px;"/></td>
</tr>
<tr style="height: 20px;"></tr>
<tr>
<td style="color: black;font-size: 15px;">Password</td>
<td style="color: black;font-size: 15px;"><input type="password"
name="pass" required="" style="background-color: white;color: black;border-
radius: 4px;height: 30px;font-size: 20px;width: 180px;" /></td>
</tr>
<tr style="height: 20px;"></tr>
<tr>
<td style="color: black;font-size: 15px;">Email ID</td>
46
<td style="color: black;font-size: 15px;"><input type="email"
name="email" required="" style="background-color: white;color: black;border-
radius: 4px;height: 30px;font-size: 20px;width: 180px;"/></td>
</tr>
<tr style="height: 20px;"></tr>
<tr>
<td style="color: black;font-size: 15px;">Mobile NO</td>
<td style="color: black;font-size: 15px;"><input type="text" name="mobile"
<td style="color: black;font-size: 15px;">Country</td>
<td style="color: black;font-size: 15px;"><input type="text"
name="country" required="" style="background-color: white;color: black;border-
radius: 4px;height: 30px;font-size: 20px;width: 180px;" /></td>
</tr>
<tr style="height: 20px;"></tr>
<tr>
<td style="color: black;font-size: 15px;">Select Domain</td>
</div>
</div>
<td style="color: black;font-size: 15px;"><select name="domain"
style="background-color: white;color: black;border-radius: 4px;height: 30px;font-
size: 20px;width: 180px;"><option>------Select------</option>
<%Connection con=DB.getconnection();
Statement st=null;
st=con.createStatement();
ResultSet rs=st.executeQuery("select * from domaindetails");
while(rs.next()){
%>
47
<option><%=rs.getString("username") %></option><%} %> </select> </td>
</tr>
<tr style="height: 20px;"></tr>
</table>
<input type="submit" value="Register" style="border-radius: 45px;width:
125px;height: 38px;color: white;background-color: #c4094f;box-shadow: 0 9px
9px 0 rgba(3,3,3,3.24), 0 9px 9px 0 rgba(3,3,3,3.24);">
</form><br><br><br>
<a href="Data_owner.jsp">Back</a>
</center>
</div>
</div>
<div id="footer">
<div id="newsletter">
</body>
</html>
APPENDIX-B
48
SCREENSHOTS
49
Domain Page
User Interface
50
Here, we have to upload files by clicking choose file
Ciphertext Page
51
Details of the Uploaded files
52
User Interface
File Details
53
Response from File Owner and File Domain
54
User download page
REFERENCES
55
7. D.E. Bell and L.J. LaPadula, “Secure Computer System: Unified Exposition
and Multics Interpretation,”Technical Report TR-A885320, The MITRE
Corp.,Bedford, MA, Mar. 1976.
8. K.J. Biba,“Integrity Considerations for Secure Computer Sys-tems,”
Technical Report TR-A423930,The MITRE Corp.,Bed-ford, MA, Apr.
1977.
9. R. Sandhu, E.J. Coyne and H.L. Feinstein, “Role-based access control
models,” IEEE Computer,vol. 29, no. 2, pp:38-47, Feb. 1996.
10. A. Shamir, “Identity-based cryptosystems and signature schemes”,
Advances in Cryptology: Conf. of CRYPTO 84, LNCS 196,pp: 47-53, 1984.
56