Authentication in a Body Area Network (Ban) Using Openssl

Total Page:16

File Type:pdf, Size:1020Kb

Authentication in a Body Area Network (Ban) Using Openssl AUTHENTICATION IN A BODY AREA NETWORK (BAN) USING OPENSSL by Josiah Mololuwa Oyinola Bachelor of ComputEr SciEncE, Ajayi Crowther University, 2016 A Report SubmittEd In Partial FulfillmEnt Of The RequiremEnt For The DEgreE Of MastEr of ComputEr SciEnce In thE GraduatE AcadEmic Unit of ComputEr SciEncE Supervisor(s): Rongxing Lu, Ph.D., ComputEr SciEncE Examining Board: Suprio Ray. Ph.D., ComputEr SciEncE Arash Habibi Lashkari, Ph.D., ComputEr SciEncE This report is accEptEd by the Dean of GraduatE StudiEs THE UNIVERSITY OF NEW BRUNSWICK DEcEmber, 2019 © Josiah Mololuwa Oyinola, 2020 Abstract IntErnet of Things (IoT), which EnablE the connection and communication of objEcts (Things) over the intErnet, have recEived considerablE attention in recEnt years. The internet is the main mEdium (backbone) of communication, whilE the things are smart devicEs, machineriEs, industry lEvel EquipmEnt, Etc., which generatE data to share and procEss for somE intElligent decision making. Ever sincE the tErm IoT was coined out and described by KEvin Ashton in 1999, industriEs have adoptEd the idea of IoT and began intEgrating it into their product developmEnt procEss widely. As a popular application scEnario of IoT, body area network (BAN) is one IoT nEtwork formEd by body sEnsors, which can sEnsE the health relatEd data, deliver the data to the remotE EHEalthcare cEntEr for a bettEr health monitoring through somE gatEways over the IntErnet. HowEver, due to the congestion of the intErnet and the fast rise in cyberattacks, it is very important to sEcure packet Exchange via advancEd lEvel Encryption mEthods to prevent possiblE sEssion hijacking, Man-In- The-MiddlE (MITM) attacks, cross sitE scripting, Etc. FortunatEly, there are numErous Encryption standards availablE. In this study, in order to address the cyber sEcurity issues in body area network, wE will be considering the OpenSSL, one popular software library which is open sourcE for usEr revision. According to openssl.org, OpenSSL is a robust, commErcial-grade, and full-featured toolkit for the Transport Layer SEcurity (TLS) and SEcure Sockets Layer (SSL) protocols. It is also a general- purposE cryptography library, and it is licEnsEd under the Apache-stylE licEnsE which makes it freE to usE by Everyone. ii ConcretEly, the report Examines the OpenSSL cryptographic architEcture, proposE and implEmEnt a “layer-in-layer” lEvel cryptographic model in a bid to sEcure our communication whilE intErfacing with generatEd data betwEEn the BAN and IoT. The study involves dissEcting the sElEctEd authentication procEss, sEEing how it ticks, and why, look into its applications and its sEtbacks. The ultimatE goal of this study is to creatE an Extra layer of sEcurity on the samE tEchnology and put it to usE. It is ExpectEd that this stratEgy will make the authentication algorithm more sEcurE iii Acknowledgements My sincEre gratitude goes first to God who out of His loving kindness made it possiblE for mE to complEtE this report and for his provision sincE I startEd my academic pursuit. I sincErely appreciatE my supervisor Dr Rongxing Lu for his intEllEctual guidancE, advicE and accEssibility. Your height of knowlEdge and ExpertisE with your students is simply excEptional. To my Mother Dr Olufunto Olufolake Alonge who gavE Everything for mE to pursue my mastEr’s degreE, I thank you so much. I am glad that I am gradually making you proud and sEEing you smilE at my achiEvemEnts. My big sistEr Josiah Motunrayo whosE landmarks I have happily followEd, I thank you for your assistancE both monetarily and academically. I would also like to appreciatE my spiritual parents Pastors SEgun and Lola Idahor for their prayers and advicEs, Daddy and Mummy Army—Rtd Major GEneral and Dr US EssiEn whosE inspiration and EncouragemEnt has beEn a positive motivation to my academic pursuit. I also thank my special friEnd, motivator and study partner Mr ToluwalasE Adebayo Adeniji for Encouraging mE when I was down, always being there for mE when I neEded it and lEading mE academically. You always bEliEved in mE Even when you didn’t have to and you supportEd mE throughout this projEct. I also appreciatE Imhoede Jude, OsagiE Ayodeji, Nwolisa Zara, AjEtunmobi Tomilola, Ibiyemi Bukunmi, and Isijola Bunmi, for their moral support and for beliEving in mE iv Table of Contents ABSTRACT ..................................................................................................................... II ACKNOWLEDGEMENTS .......................................................................................... IV LIST OF TABLES ....................................................................................................... VII TABLE 1: PATIENT TABLE .................................................................................... VII TABLE 2: HISTORY TABLE .................................................................................... VII LIST OF FIGURES ................................................................................................... VIII CHAPTER 1 INTRODUCTION .................................................................................... 1 1.1. RESEARCH BACKGROUND ..................................................................................... 1 1.2. RESEARCH PROBLEM ............................................................................................ 5 1.3. PURPOSE OF RESEARCH ........................................................................................ 5 1.4. SIGNIFICANCE OF RESEARCH ................................................................................ 6 1.5. RESEARCH OBJECTIVES ........................................................................................ 6 1.6. ORGANIZATION OF REPORT .................................................................................. 7 1.7. DEFINITION OF TERMS .......................................................................................... 8 CHAPTER 2 LITERATURE REVIEW ...................................................................... 10 2.1. INTRODUCTIONS ................................................................................................. 10 2.2. AUTHENTICATION METHODS [8] ........................................................................ 12 2.2.1 PASSWORD AUTHENTICATION [8] ...................................................................... 12 2.2.2 AUTHENTICATION TOKEN [8] ............................................................................. 13 2.2.3 SYMMETRIC- KEY AUTHENTICATION [8] ........................................................... 14 2.2.4 PUBLIC- KEY AUTHENTICATION:THE DIFFIE-HELLMAN AUTHENTICATION [8] . 15 2.2.5 BIOMETRIC AUTHENTICATION [8] ...................................................................... 16 2.3. IOT ARCHITECTURE ........................................................................................... 19 2.3.1 PERCEPTION LAYER [22] .................................................................................... 22 2.3.2 NETWORK LAYER [22] ....................................................................................... 22 2.3.3 APPLICATION LAYER [22] .................................................................................. 23 2.3.4 BUSINESS LAYER [23] ........................................................................................ 23 2.3.5 PROCESSING LAYER [23] .................................................................................... 24 2.4. IOT SECURITY .................................................................................................... 24 2.5. IOT PASSWORD AUTHENTICATION ..................................................................... 25 2.6. CRYPTOGRAPHY BASED AUTHENTICATION [8] .................................................. 28 CHAPTER 3 RESEARCH METHODOLOGY .......................................................... 30 3.1. INTRODUCTION ................................................................................................... 30 3.2. SYSTEM METHODOLOGY .................................................................................... 30 3.2.1 METHODOLOGY ADOPTED ................................................................................. 30 3.3. RESEARCH MODEL .............................................................................................. 32 3.4. RESEARCH REQUIREMENTS ................................................................................ 34 3.4.1 FRONT END TECHNOLOGIES ............................................................................... 34 3.4.1.1 JAVASCRIPT (REACT JS) ................................................................................. 34 3.4.1.2 CASCADING STYLE SHEET (CSS) ................................................................... 35 v 3.4.1.3 MYSQL WORKBENCH .................................................................................... 35 3.4.2 AUTHENTICATION APPLICATION PROGRAMMING INTERFACE (API) .................. 35 3.4.3 A WIRELESS BODY AREA NETWORK (WBAN) .................................................. 36 3.4.4 CRYPTOGRAPHIC METHOD (OPEN SSL) ............................................................. 38 3.4.5 APPLICATION DATABASE SYSTEMS .................................................................... 43 3.4.5.1 WHAT IS A DBMS? ........................................................................................ 43 3.4.6 DATABASE SCHEMA ........................................................................................... 44 3.4.7 ENTITY RELATIONSHIP DIAGRAM
Recommended publications
  • XAMPP-Chapter
    The following is a sample chapter from the upcoming Understanding MySQL and MariaDB, coming in 2020 from Andrew Comeau and Comeau Software Solutions. If you enjoy this preview, please check back at ComeauSoftware.com for more details and updates on anticipated release dates. https://www.comeausoftware.com/understanding-mysql-and-mariadb/ All material, Copyright 2019 – Andrew Comeau 3 Installing MariaDB with XAMPP Using MariaDB as part of a suite of web development tools In This Lesson … • Understand the purpose of an Apache - MySQL - PHP (AMP) software stack • Recognize the variations in AMP stack packages available for download • Install an AMP stack for use in developing databases and hosting web applications What is an AMP Stack? As powerful as MySQL is, it's rarely used on its own. Most developers will want additional tools such as programming languages and interface tools to escape the tedium of working on the command line all the time. This is one of the reasons that MySQL is often used in combination with other tools that will enable the design of user-friendly sites. This means either creating or downloading a ready-made AMP stack. AMP usually stands for "Apache-MySQL-PHP" although the P might also stand for Perl or Python. In general, it simply refers to one or more programming languages that are included with the software stack. An AMP stack is called a stack because each tool within it addresses a different aspect of database and web development and helps support the others. • Apache is a web server - software that can respond to requests for pages and other content within a website.
    [Show full text]
  • EOP ASSIST 4.0 Installation Manual
    EOP ASSIST 4.0: A Software Application for K-12 Schools, School Districts, Regional Education Agencies, and State Agencies Installation Manual Updated August 2017 EOP ASSIST 4.0 Installation Manual Table of Contents Table of Contents ...............................................................................................................................1 Chapter 1: Overview ..........................................................................................................................4 Chapter 2: Technical Requirements ....................................................................................................5 Expertise Requirements of IT Personnel ................................................................................................... 5 Server Requirements ................................................................................................................................ 5 Operating System .................................................................................................................................. 5 Web Server Software ............................................................................................................................ 6 Relational Database Management System .......................................................................................... 7 Scripting Language ............................................................................................................................... 7 Configuration Requirements ....................................................................................................................
    [Show full text]
  • Installation of Wordpress System Requirements for Wordpress
    ITEC321 - Administering Web-based Content Management System Installation of WordPress System requirements for WordPress Database: MySQL 5.0 + Web Server : WAMP (Windows) , LAMP (Linux), XAMP (Multi-platform), MAMP (Macintosh), Operating System − Cross-platform Browser Support : IE (Internet Explorer 8+), Firefox, Google chrome, Safari, Opera PHP Compatibility: PHP 5.2+ How to Install WordPress on your Windows Computer Using WAMP Step 1. Installing WAMP on Windows Computer First, you need to download the WAMP software and install it on your computer. Simply go to the WampServer website and click on the ‘Start Using WampServer’ button. http://www.wampserver.com/en/ It will take you to the downloads section. You’ll see two versions here: WampServer 32 bits and WampServer 64 bits. You need to select the WampServer version that matches the operating system type of your Windows computer. To find out whether you are using 32 or 64-bit operating system, go to Control Panel » System and Security » System in your computer. There you will be able to see your operating system type. Once downloaded, you can click on the wampserver execution file to run the installation. Make sure that you carefully follow the instructions on the installation screen. During the installation process, you need to define the location for the web browser. By default, it will be Internet Explorer. You can change that to Google Chrome or any other web browser by locating it in the Program Files of your computer. Once installed, you can launch the WampServer to continue. Step 2. Setting Up a Database for Local WordPress Setup Next thing you need to do is to create a blank MySQL database.
    [Show full text]
  • Windows Development Environment
    A P P E N D I X A ■ ■ ■ Windows Development Environment For those developers who spend most of their coding time with Microsoft development tools, the world of *nix is probably a scary place. Drupal is written for the so-called LAMP stack, "Linux/Apache/MySQL/ PHP." While it is possible to substitute Windows for Linux, it is a bit more difficult to substitute IIS for Apache, and even harder to substitute SQL Server for MySQL. And don’t even think about replacing PHP with C# or Visual Basic. This appendix provides a step-by-step tutorial for setting up a debugging environment on your Windows workstation. My goal was to duplicate the development environment of Visual Studio, and this set-up gets about as close as you can. Old habits die hard, and if you’re like me you’ve got some. I’ve been using a Windows-based computer since Windows was first available as an application that ran under DOS. As with most technologies, Windows and I have a love-hate relationship, but for some reason I keep coming back. Visual Studio is the perfect development environment. My development editor of choice was once VEdit, an emacs-style editor. I reluctantly switched to Visual Studio to do Visual Basic 6 programming, and learned to love IntelliSense. With Visual Studio 2010 and the .NET reflection-based IntelliSense, I can’t imagine coding without it. After the Windows Vista debacle, I seriously considered switching to Ubuntu or Macintosh. If Microsoft couldn’t get its core operating system right, how long would it be until everything else suffered? Windows 7 changed my mind.
    [Show full text]
  • ASP.NET & PHP Master Thesis in Software Engineering
    Comparison of Web Development Technologies ‐ ASP.NET & PHP Master Thesis in Software Engineering Author: Ramesh Nagilla ([email protected]) Supervisor: Frank Lüders ([email protected]) Examiner: Kristina Lundqvist ([email protected]) 1 Abstract Web applications play an important role for many business purpose activities in the modern world. It has become a platform for the companies to fulfil the needs of their business. In this situation, Web technologies that are useful in developing these kinds of applications become an important aspect. Many Web technologies like Hypertext Preprocessor (PHP), Active Server Pages (ASP.NET), Cold Fusion Markup Language (CFML), Java, Python, and Ruby on Rails are available in the market. All these technologies are useful to achieve the goals of Clients and business organizations. ASP.NET and PHP are the most competing out of all the technologies. Most of the companies and developers think that one is better than other. The main aim of this thesis is done by taking this point in to the consideration. A Photo Gallery application is developed using ASP.NET and PHP in order to compare the two Web development technologies. Many points are taken in to consideration in order to differentiate them and conclude which one is the better among the two technologies. 2 Acknowledgements I would like to thank my supervisor Frank Luders for his constant help, support and guidance during this thesis work. I also would like to thank my friends who have given me enough strength and support during this thesis. 3 Table of Contents 1. Introduction ........................................................................................................................................................ 8 1.1 Purpose of the document ..............................................................................................................
    [Show full text]
  • Axis Store Data Manager User Manual
    AXIS Store Data Manager User Manual AXIS Store Data Manager Solution overview Solution overview An overview of the different products, applications, and tools needed for a complete system. 2 AXIS Store Data Manager AXIS Store Data Manager AXIS Store Data Manager Note This manual covers the locally installed version of AXIS Store Data Manager. To find out more about the hosted online solution, go to the manual for AXIS Store Reporter that includes AXIS Store Data Manager. AXIS Store Data Manager is a data hub that collects and arranges statistical data. To interpret the statistical data, use the tool in combination with AXIS Store Reporter or a third-party reporting tool. Who’s it for? AXIS Store Data Manager is typically for the integrator, who manages the cameras and sets up the system. The tool can be used for a single company as well as for several companies. 3 AXIS Store Data Manager Installation Installation System requirements AXIS Store Data Manager uses open source web server software. Supported operating systems • Microsoft Windows 7 or later • Ubuntu 8.04 or higher (Ubuntu 16.04 and later does not include PHP5, and MySQL5) • Debian 5.0 or higher (Debian 9 (Stretch) does not include PHP5 and MySQL5) Supported web browser clients • Firefox® • ChromeTM • Internet Explorer® 9.0 or higher (or equivalent browser) Required software packages Before you can use the locally installed AXIS Store Data Manager, you need to install the software packages Apache, PHP and MySQL. See Install the required software packages on page 4 . • PHP 5.4 to 5.6.
    [Show full text]
  • Automic How to Install & Configure Apache on Windows
    Automic How to Install & Configure Apache on Windows Apache Configuration on Windows for Application Manger Installation Guide and Notes Copyright © 2007 Automic Software, Inc. All Rights Reserved. Printed in USA Restricted Rights Legend Use, duplication, or disclosure of the Programs is subject to restrictions stated in your contract with Automic Software. Use, duplication, or disclosure of the Programs by Government is subject to restrictions for commercial computer software and the Programs shall be deemed to be licensed with Restricted Rights under Federal Law. The information contained in this document is subject to change without notice. Automic Software does not warrant that this documentation is error-free. If you find errors in this document, please contact Automic Software Documentation. Automic is a registered trademark of Automic Software. All other product names and services identified throughout this book are trademarks or registered trademarks of their respective companies. Automic Software, Inc. 14475 NE 24th Street Bellevue, WA 98007 USA Tel: +1.(425).644.2121 Fax: +1.(425).644.2266 Email: office.us(at)Automic.com Automic Software GmbH c/o SAP PartnerPort Walldorf Altrottstrasse 31 69190 Walldorf/Baden Germany Tel: +49.(0)6227.381.180 Fax: +49.(0)6227.381.200 Email: office.wdf(at)Automic.com Prepared by: Souny Barati Title : Sr Consultant at CA-Automic Software Inc. Date: September 13, 2017 Souny Barati 2 Table of Contents Apache for Application Manager v9.x..........................................................................................4
    [Show full text]
  • Databases: Mysql Introduction
    Databases: MySQL Introduction Databases: MySQL introduction How to Use this User Guide This handbook accompanies the taught sessions for the course. Each section contains a brief overview of a topic for your reference and then one or more exercises. Exercises are arranged as follows: A title and brief overview of the tasks to be carried out; A numbered set of tasks, together with a brief description of each; A numbered set of detailed steps that will achieve each task. Some exercises, particularly those within the same section, assume that you have completed earlier exercises. Your teacher will direct you to the location of files that are needed for the exercises. If you have any problems with the text or the exercises, please ask the teacher or one of the demonstrators for help. This book includes plenty of exercise activities – more than can usually be completed during the hands-on sessions of the course. You should select some to try during the course, while the teacher and demonstrator(s) are around to guide you. Later, you may attend follow-up sessions at IT Learning Programme (ITLP) called Computer8, where you can continue work on the exercises, with some support from IT teachers. Other exercises are for you to try on your own, as a reminder or an extension of the work done during the course. Text Conventions A number of conventions are used to help you to be clear about what you need to do in each step of a task. In general, the word press indicates you need to press a key on the keyboard.
    [Show full text]
  • Setting up a WAMP Server on Your Windows Desktop INTRODUCTION
    Setting Up A WAMP Server On Your Windows Desktop David Ipswich September 2011 Published by Technology Now at Smashwords Copyright 2011 David Ipswich Smashwords Edition, License Notes Thank you for downloading this free ebook. You are welcome to share it with your friends. This book may be reproduced, copied and distributed for non-commercial purposes provided the book remains in its complete original form. If you enjoyed this book, please return to Smashwords.com to discover other works by this author. Thank you for your support. ~~~~~~~~~~~~~~~~~~~~~~~~~~ Table of Contents Introduction Obtaining the Resources Installing the Server Software Launching Your Server Creating Your First Home Page Your First PHP Database The Server Menu Where To Next About the Author INTRODUCTION There are many reasons for setting up a website on your own computer first, and only actually putting it online once you're really happy with it. Some of the reasons for having a desktop server are: EVERONE who creates a website makes mistakes. None of us are perfect. Don't go 'live' until your site is completely finished, and you are fully happy with it. If you make mistakes on a 'live' website, the Google-bot will index those pages, but when it returns later (after you've deleted the offending pages) it won't be able to find them. This will make the Google-bot wary of indexing future pages. You don't want to upset Google, so make sure your mistakes are made in private! Take the opportunity of trying things out. Do you want one column, 2 columns or 3 columns? Do you
    [Show full text]
  • Chapter 2. Setting up a Web Server
    Web Servers Chapter 2. Setting up a Web Server Table of Contents 2.1 Wampserver and Apache HTTP on Windows............................................................................................. 1 2.1.1 Requirements ................................................................................................................................ 1 2.1.2 Installing Wampserver.................................................................................................................. 2 2.1.3 Setting up Server Passwords ........................................................................................................ 3 2.1.4 Testing Applications ..................................................................................................................... 5 2.2 Apache Tomcat on Windows ...................................................................................................................... 6 2.2.1 Requirements ................................................................................................................................ 6 2.2.2 Tomcat Setup ................................................................................................................................ 7 2.2.3 Testing Applications ................................................................................................................... 10 2.3 Lampserver and Apache HTTP on Ubuntu 15.04 ..................................................................................... 10 2.3.1 Requirements .............................................................................................................................
    [Show full text]
  • EOP ASSIST: Installation Manual
    EOP ASSIST: A Software Application For K-12 Schools and School Districts Installation Manual Updated September 2015 EOP ASSIST Installation Manual Table of Contents Chapter 1: Overview ..........................................................................................................................3 Chapter 2: General Installation Considerations ...................................................................................4 Expertise Requirements of IT Personnel ................................................................................................... 4 Server Requirements ................................................................................................................................ 4 PHP ........................................................................................................................................................ 4 Database Systems ................................................................................................................................. 5 Web Servers .......................................................................................................................................... 5 Connectivity .............................................................................................................................................. 5 Chapter 3: Installation Instructions .....................................................................................................6 Set Up a Web Server Environment of Choice ..........................................................................................
    [Show full text]
  • HTML, PHP and Mysql
    HTML, PHP and MySQL "PHP is an HTML-embedded scripting language. Much of its syntax is borrowed from C, Java and Perl with a couple of unique PHP-specific features thrown in. The goal of the language is to allow web developers to write dynamically generated pages quickly." -php.net HTML Although, most of you probably have extensive HTML work. Here's a quick refresher. Here's an example of a typical html. <html> <head> <title>My WebPage!</title> </head> <body> Hello World! </body> </html> <html> begins and ends each and every web page. Its sole purpose is to encapsulate all the HTML code and describe the HTML document to the web browser. Remember to close your HTML documents with the corresponding </html> tag at the bottom of the document. The head functions "behind the scenes." Tags placed within the head element are not directly displayed by web browsers. If you decide to use other elements for scripting (Javascript) and formatting (CSS), they will be placed within your head element. The words you write between the opening and closing <title></title> tags will be displayed at the top of a viewer's browser. For now, that's all we'll need to begin building our php program. Easy, yes, just remember this simple html format and don't forget to close your tags. What is PHP? PHP is an interpreted scripting language that allows a web server to create dynamic web pages or web services. It is a back-end server technology. You use PHP to generate HTML programmatically before it is sent by the web server to a requesting client browser.
    [Show full text]