• No results found

The encryption - decryption of the column level for a commercial DBMS with supporting user interface

N/A
N/A
Protected

Academic year: 2021

Share "The encryption - decryption of the column level for a commercial DBMS with supporting user interface"

Copied!
14
0
0

Loading.... (view fulltext now)

Full text

(1)

TABLES OF CONTENTS

CHAPTER TITLE PAGE

DECLARATION ii

DEDICATION iii

ACKNOWLEDGEMENT iv

ABSTRACT v

ABSTRAK vi

TABLE OF CONTENTS vii

LIST OF TABLES xiv

LIST OF FIGURES xv

LIST OF ABBREVIATIONS xvii

LIST OF APPENDICES xix

1 PROJECT OVERVIEW 1

1.1 Introduction 1

1.2 Background 2

1.3 Statement of the Problem 3

1.4 Objectives 3

1.5 Scope Of Study 4

1.6 Importance of The Study 4

1.7 Summary 4

2 LITERATURE REVIEW 6

2.1 Introduction 6

2.2 Database 7

2.2.1 What Is Database? 7

(2)

(DBMs)?

2.2.3 Database Security 8

2.2.4 Database Cryptography 9

2.2.5 Database – Level Encryption 10

2.2.6 SQL Server And Database Encryption Keys (Database Engine)

11

2.3 Database Access Technologies (DATs) 11

2.3.1 Open Data Base Connectivity (ODBC) 12

2.3.2 Java Database Connectivity (JDBC) 19

2.3.3 ActiveX Data Objects (ADO) 23

2.3.4 Online Analytical Processing (OLAP) 25

2.3.5 Object Linking And Embedding (OLE) 26

2.3.6 CORBA 28

2.3.7 ADO.NET 31

2.3.8 Extensible Markup Language (XML) 33

2.3.9 Microsoft.NET 37

2.4 Summary 38

3 RESEARCH METHODOLOGY 39

3.1 Introduction 39

3.2 The Research Development Phases 39

3.2.1 Project Preview 40

3.2.2 Literature Review 41

3.2.3 Studies and Analysis 41

3.2.4 Determine the research requirements 41

3.2.4.1 Software Development Tools 42

3.2.5 System Design 44

3.2.5.1 Database design 44

3.2.6 System Implementation and Testing 45

3.2.7 Benefits, Discussion and Future Works 46

3.3 Summary 46

(3)

4.1 Introduction 47

4.2 The Java Database Connectivity (JDBC) 47

4.2.1 JDBC API Overview 47

4.2.2 JDBC Architecture 48

4.2.2.1 Type 1 Driver - JDBC-ODBC bridge

48

4.2.2.2 Type 2 Driver - Native-API Driver specification

50

4.2.2.3 Type 3 Driver - Network-Protocol Driver

51

4.2.2.4 Type 4 Driver - Native-Protocol Driver

54

4.2.3 Comparison of the 4 Types Of JDBC Drivers 57

4.2.4 General Advantages of JDBC Technology 58

4.3 Microsoft Open Database Connectivity (ODBC) 59

4.3.1 How ODBC Works? 61

4.3.2 ODBC Drivers 62

4.3.2.1 Driver Tasks 63

4.3.2.2 Driver Architecture 63

4.3.2.3 Other Driver Architectures 67

4.3.2.4 Microsoft ODBC Desktop

Database Drivers

69

4.3.2.5 ODBC Driver For Oracle 70

4.3.2.6 Oracle Form Developer And

ODBC

70

4.3.2.7 Visual FoxPro ODBC Driver 71

4.3.2.8 ODBC Architecture 71

4.3.3 Encryption 72

4.3.4 ODBC Advantages 72

4.3.5 ODBC Disadvantages 73

4.4 ActiveX Data Objects (ADO) 74

4.4.1 ADO Fundamentals 75

(4)

4.4.3 ADO Disadvantage 77 4.5 ADO.NET 77 4.5.1 ADO.NET Architecture 78 4.5.2 ADO.NET Encryption 80 4.5.3 ADO.NET Advantages 80 4.5.4 ADO.NET Disadvantages 81

4.6 The Common Object Request Broker Architecture (CORBA)

81

4.6.1 Interface Definition Language (IDL) 83

4.6.2 How is CORBA works 83

4.6.3 CORBA Features 85

4.6.4 Encryption 85

4.6.5 CORBA advantages 85

4.6.6 CORBA Disadvantages 87

4.7 Online Analytical Processing (OLAP) 88

4.7.1 OLAP Design 90

4.7.2 OLAP Security 90

4.7.3 OLAP Advantages 91

4.7.4 OLAP Disadvantages 91

4.8 OLE 92

4.8.1 OLE DB Programming Overview 93

4.8.2 Universal Data Access 93

4.8.3 Benefits of COM 94

3.8.4 Drawbacks of COM 95

3.8.5 OLE DB Architecture 95

(5)

4.8.7 Oracle Objects for OLE (OO4O) 96 4.8.8 OLE Advantages 96 4.8.9 OLE disadvantages 97 4.9 XML 98 4.9.1 Features / capabilities 99 4.9.1.1 Oracle 99 4.9.1.2 Microsoft SQL Server 2005 100

4.9.2 How XML Schema Processing with SQL

server 2005? 100 4.9.3 Encryption 101 4.9.4 XML Advantages 102 4.9.5 XML Disadvantages 104 4.10 Microsoft.Net 105

4.10.1 What is the .NET Framework and Visual

Studio?

105

4.10.2 General Goals of .NET 106

4.10.3 .NET Architecture 107

4.10.4 Principal Design Features 110

4.10.4.1 General features 110

4.10.4.2 ADO.NET Entity Framework 111

4.10.4.3 What's New in the .NET

Framework Version 3.5 SP1

112

4.10.5 Data Encryption In SQL Server (ADO.NET)

113

4.10.6 Visual Basic.NET 114

(6)

4.10.6.2 Funny 115

4.10.6.3 Easy to Learn 116

4.10.7 Advantages of Using Managed Code to

Create Database Objects

116 4.10.8 Disadvantages of .NET 119 4.11 Comparative Studies 120 4.12 Recommendations 127 4.13 Summary 129 5 SYSTEM DESIGN 130 5.1 Introduction 130 5.2 User Requirements 130 5.2.1 Initialization 131 5.2.2 Login 131 5.2.3 Main Form 132

5.2.4 Manage User Information 133

5.2.5 Encryption 133 5.2.6 Decryption 133 5.3 Database Design 134 5.3.1 Dbo.Userinfo 134 5.3.2 Scolumn.Sec_Useraccessinfo 135 5.3.3 Scolumn.Sec_Securityinfo 135 5.3.4 Scolumn.Sec_Cryptoinfo 136 5.4 System Requirementts 136

5.4.1 Hardware Requirement Specification 136

5.4.2 Software Requirement Specification 137

5.5 Summary 137

6 SYSTEM IMPLEMENTATION AND TESTING 138

6.1 Introduction 138

6.2 Coding Steps 138

(7)

6.2.2 User and key management unit: 139

6.2.3 Test and Evaluation the result 140

6.3 Administrator and User Manual 141

6.3.1 Create users by System Administrator 141

6.3.1.1 Run the SQL Server 2005 Express

Edition

141

6.3.1.2 How to make Initialization 145

6.3.1.3 How to make Encryption 148

6.3.1.4 How to make Decryption 151

6.4 Summary 152

7 BENEFITS, DISCUSSION AND FUTURE WORKS 153

7.1 Introduction 153

7.2 Implemented Modules 153

7.3 Lessons Learnt 155

7.4 Expected Organizational Benefits 155

7.5 Future Works 157

7.6 Summary 157

LIST OF REFERENCES 159

(8)

LIST OF TABLES

TABLE NO. TITLE PAGE

4.1 JDBC Drivers types contrast 57

4.2 Comparison between DATs Capabilities 120

4.3 Pros and Cons of Data Access Technologies 121

4.4 J2EE/JDBC vs .NET/VB.NET 127

5.1 DBO.USERINFO table design 134

5.2 SCOLUMN.SEC_USERACCESSINFOTABLE DESIGN 135

5.3 SCOLUMN.SEC_SECURITYINFO TABLE DESIGN 135

5.4 SCOLUMN.SEC_CRYPTOINFO TABLE DESIGN 136

5.5 The Hardware Specifications 137

6.1 Test Approaches of Secure Column Application 140

(9)

LIST OF FIGURES

FIGURE NO TITLE PAGE

2.1 Flow of project data 6

2.2 Web Services-based access to relational databases 22

3.1 Research Flow Chart 40

3.2 The overall Project Layout 44

4.1 Schematic of the JDBC-ODBC Bridge 49

4.2 Schematic of the Native API driver 51

4.3 Schematic of the Network Protocol driver 52

4.4 Schematic of the Native-Protocol driver 54

4.5 Data flows over the network 56

4.6 Different configurations of file-based drivers 64

4.7 Different configurations of DBMS-based drivers 66

4.8 Single network configuration 67

4.9 Installation of ODBC on the Server 68

4.10 ADO.NET architecture 80

4.11 The structure of ORB interface 83

4.12 A component DBMS architecture using OLE DB

interfaces

96

4.13 Visual Studio overview of the Common Language

Infrastructure

109

4.14 The Structure of Microsoft.Net 109

4.15 Microsoft Visual Studio (VB.NET) 114

5.1 Encryption Main Form 132

5.2 Decryption Main Form 132

6.1 Run SQL Server 2005 Express Edition 141

(10)

6.3 Management Options 142

6.4 Create New Login 143

6.5 Login-New 144

6.6 Create New user on Database. 144

6.7 Add user name and Login name 145

6.8 Log Status File 145

6.9 System Administrator Authentication 146

6.10 Automatic database detection 146

6.11 Admin‘s Login Account 147

6.12 Initialization successful 147

6.13 Dbo.userinfo table before encryption 148

6.14 Database Login authentication 148

6.15 Encryption System Login authentication 149

6.16 Display of all databases automatically 149

6.17 The data before encryption. 150

6.18 Columns Encryption. 150

6.19 Data user Login to the Database 151

6.20 Data user Login to the Encryption System. 151

(11)

LIST OF ABBREVIATIONS

ADO - Activex Data Objects

ADO.NET - Activex Data Objects .NET

AMI - Asynchronous Method Invocation

API - Application Programming Interface

ASP.NET - Active Server Page. Net

ATM - Asynchronous Transfer Mode

BCL - Base Class Library

BPM - Business Process Management

CAS - Code Access Security

CCA - Common Component Architecture

CIA - Confidentiality, Integrity And Availability

CLI - Call Level Interface

CLR - Common Language Runtime

COM - Component Object Model

CORBA - Common Object Request Broker Architecture

CPU - Central Processing Unit

DAO - Data Access Objects

DATs - Database Access Technology

DB - Database

DBA - Database Administrator

DLL - Dynamic Link Library

DM - Data Mining

DMF - Decryption Main Form

DTDs - Document Type Definitions

ECMA-335 - European Computer Manufacturers Association

EMF - Encryption Main Form

(12)

GUIs - Graphical User Interfaces

ICTs - Information And Communication Technologies

IDE - Integrated Development Environment

IDL - Interface Definition Language

IETF - Internet Engineering Task Force

IIOP - Internet Inter-Orb Protocol

IIS - Internet Information Services

IMS - Instrumentation Maintenance System

ISVs - Independent Software Vendors

IVs - Initialization Vectors

JDBC - Java Database Connectivity

JIT - Just-In-Time

JNDI - Java Naming And Directory Interface

JVM - Java Virtual Machine

LINQ - Language-Integrated Query

MDAC - Microsoft Data Access Components

MDX - Multidimensional Expressions Or

MFC - Microsoft Foundation Classes

MOLAP - Multidimensional Online Analytical Processing

.NET - Microsoft.NET

OASIS - Organization For The Advancement Of Structured

Information Standards

OCA - Oracle Open Client

ODBC - Open Database Connectivity

OLAP - Online Analysis Process

OLE - Object Linking And Embedding

OLTP - Online Transaction Processing

OMG - Object Management Group

OO - Object Oriented

OO4O - Oracle Objects For OLE

OPC - OLE For Process Control

ORB - Object Request Broker

(13)

QA - Quality Assurance

QoS - Quality Of Service

RAD - Rapid Application Development

RDO - Remote Data Objects

RMI - Remote Method Invocation

ROLAP - Relational Online Analytical Processing

RPC - Remote Procedure Calling

SCL - Service Control Language

SDK - Software Development Kit

SGM L - Standard Generalized Markup Language

SMEs - Small And Medium Size Enterprises

SProc - Stored Procedure

SQL - Structure Query Language

SSL - Secure Sockets Layer

TCP/IP - Transmission Communication Protocol /Internet Protocol

T-SQL - Transact-SQL

UDA - Universal Data Access

UDF - User Defined Functions

UI - User Interface

UPC - Universal Personal Computing

VB - Visual Basic )

VB.NET - Visual Basic .Net

VBA - Visual Basic For Application

VPN - Virtual Private Network

W3C - World Wide Web Consortium

WCF - Windows Communication Foundation

WPF - Windows Presentation Foundation

XKMS - Xml Key Management Specification

(14)

LIST OF APPENDICES

APPENDIX TITLE PAGE

A Figure 1 Partial Column Encryption Process 167

B Figure 2: Partial Column Decryption Process 167

C Figure 3: Partial Column Encryption Result 168

D Figure 4: Partial Column Decryption Result. 168

References

Related documents

ABCS 135: AB Cognitive Screen; ADAS-cog: Alzheimer ’ s Disease Assessment Scale – cognition; ANCOVA: Analysis of covariance; ANOVA: Analysis of variance; AUC: Area under the

We did a prospective observational study between Jan 23, 2014, and April 13, 2015, in residential care homes for elderly people in southeast England that reported scabies

The proposed method has fared well and apply over a large class of mathematically modeled problems .Credit accrue to VIM for solving a class of distinguished and

Following what entomologists understand about honey bee disease, I hypothesize that there will be an increase in observed morbidity factors in colonies located where available

The multiple-capture-recapture experiment performed by Bishop (1972) used releases both of malc-s collected in the field and of male's bred and emerged in captivity. Bishop states

Table 4 showed that, heart girth was higher in animals supplemented with groundnut cake and Seyal pods compared with those on natural grazing, ewe lambs supplemented with

Considering disease information, vaccination, travel health risks including: environmental risks, infectious disease & poten- tial risks, accidental injury and speed of pan