INTRODUCTION In 2018

INTRODUCTION In 2018, there expect 2.53 billion humans using smartphones internationally. The main purpose of the popularity of the smartphones is that smartphones are handy for users to get entry to diverse online services. Every day, humans use smartphones to text emails, log on social network media, along with Facebook, store non-public information, information and documents onto the clouds and many others. At some point of the use of smartphones, people likely shop their private information, photographs, and passwords into the websites and applications. So, these days, the smartphone isnt only the best conversation tool for calling and texting, but a private assistant tool that is complete with private and private statistics. Obviously, the gadgets cant be assured of entire protection. Unreliable and simple passwords and ubiquitous attackers gift severe threatens to users non-public and sensitive statistics saved at the gadgets. Consequently, imparting a reliable authentication to those gadgets is a crucial requirement Passwords used to be the only option to authenticate people to access their devices. In recent years, more and more devices provide biometric sensors such as fingerprints or drawing on screen as alternative authentication options to unlock the devices, but still require passwords as the last help resource in case that biometric solutions fail to work with repeated tries. Even though, these new options cannot avoid the usability issue. A device still requires its user to repeatedly enter their passwords or pins, touch the screen with drawing, or place a finger on the fingerprint sensor. Therefore, how to minimize the usability issue of inconvenience is significant, essential but challenging. In this thesis work, we propose a non-password software-only solution which is a passive and continuous authentication. It does not rely on the traditional authentication inputs such as password or biometric information, but on users historical behaviors in using a device In recent years, technology companies such as Google and Apple provide more and more built-in sensors to increase user experiences. The larger amount of data collected by sensors in modeling user behavior to creates a lot of opportunities for improving mobile device security. We propose a multi-sensor-based authentication framework for smartphone users. The framework leverages accelerometer, orientation, and touch size data which are gathered from an Android smartphone, and then, it uses Hidden Markov Model to train a users figure gesture and handholding pattern, which is dynamically authenticate the legitimate user of the device and distinguish the user from other unauthorized users CHAPTER 2 SYSTEM ANALYSIS EXISTING SYSTEM In the existing system more and more devices provide biometric sensors such as fingerprints or drawing on screen as alternative authentication options to unlock the devices, but still require passwords as the last help resource in case that biometric solutions fail to work with repeated tries. Even though, these new options cannot avoid the usability issue. A device still requires its user to repeatedly enter their passwords or pins, touch the screen with drawing, or place a finger on the fingerprint sensor. Therefore, how to minimize the usability issue of inconvenience is significant, essential but challenging PROPOSED SYSTEM In our proposed system we propose a multi-sensor-based authentication framework for smartphone users. The framework leverages accelerometer, orientation, and touch size data which are gathered from an Android smartphone, and then, it uses Hidden Markov Model to train a users figure gesture and handholding pattern, which is dynamically authenticate the legitimate user of the device and distinguish the user from other unauthorized users. We introduce built-in sensors which are supported by the Android platform, summarize the past wok on sensor-based authentication. We present our proposed approach to authenticate user from various sensors, including sensor data collection, data preprocessing, modeling, and authentication CHAPTER 3 LITERATURE SURVEY OVERVIEW A literature survey or a literature review in a project report shows the various analyses and research made in the field of interest and the results already published, taking into account the various parameters of the project and the extent of the project. A literature survey includes the following Existing theories about the topic which are accepted universally Books written on the topic, both generic and specific Research done in the field usually in the order of oldest to latest Challenges being faced and on-going work, if available Literature survey describes about the existing work on the given project .It deals with the problem associated with the existing system and also gives user a clear knowledge on how to deal with the existing problems and how to provide solution to the existing problems different thing OBJECTIVES OF LITERATURE SURVEY Learning the definitions of the concepts. Access to latest approaches, methods and theories. Discovering research topics based on the existing research. Concentrate on your own field of expertise Even if another field uses the same words, they usually mean completely. It improves the quality of the literature survey to exclude sidetracks Remember to explicate what is excluded Before building our android application the following system is taken into consideration Conclusion1 In this survey paper we described different design principles and context models for context-aware systems and presented various existent middleware and server-based approaches to ease the development of context-aware applications. The direct comparison of the named systems and frameworks shows their similarity concerning the layered structure. Especially remarkable is the strict division of the context data acquisition and use. Thus context sources become reusable and are able to serve a multitude of context clients. Although most authors refer to abstract context sources, the currently mainly used and tested sources are physical sensors. Virtual and logical sensors are capable of providing useful context data as well and should be more incorporated in ongoing research Conclusion2 In this paper, we utilize three sensors the accelerometer, the orientation sensor and the magnetometer. We apply the SVM technique as the classification algorithm in the system, to distinguish the smartphones owner versus other users, who may potentially be attackers or thieves. In our experiments, we compare the authentication results for different sampling rates and different data sizes, which show a trade-off between accuracy performance and the computational complexity. Furthermore, we experiment with data from a single sensor and from a combination of two sensors, to compare their results with data from all three sensors. We find that the authentication accuracy for the orientation sensor degrades more than that of the other two sensors. Therefore, the data collected from the orientation sensor is not as important as that from the accelerometer and magnetometer, which tend to measure more stable, longer-term characteristics of the users coarse-grained movements and his general physical location, respectively Conclusion3 In this paper, we propose a probabilistic approach to model users gesture patterns using continuous n-gram language model. We built a functional prototype SenSec, which keeps track of sensory reading from accelerometer, gyroscope and magnetometer on device, builds the context of users gesture patterns and use them to perform user classification or to identify whether it is the owner. The results showed that SenSec system achieves 75 accuracy in user classification tasks and 71.3 accuracy in user authentication tasks with only 13.1 false alarms and 4.96 detection delay Conclusion4In this paper we have attempted to present the theory of hidden Markov models from the simplest concepts (discrete Markov chains) to the most sophisticated models (variable duration, continuous density models). It has been our purpose to focus on physical explanations of the basic mathematics hence we have avoided long, drawn out proofs and/or derivations of the key results, and concentrated primarily on trying to interpret the meaning of the math, and how it could be implemented in practice in real world systems. We have also attempted to illustrate some applications of the theory of HMMs to simple problems in speech recognition, and pointed out how the techniques could be (and have been) applied to more advanced speech recognition problems Conclusion5 In this paper, we attempt to recognize actions in real time on the Android platform, and recognize the users activities from a recognized set of actions. The two step HMM structure is appropriate for mobile environment to reduce computational complexity. Looking at the results of action recognition, there is confusion between stair up/down and walk actions. Careful data selection and training will improve the performance of recognition. Also, shopping and taking a bus activities have some difficult patterns to classify, and it is necessary to use more sensors such as a GPS receiver, Wi-Fi, etc CHAPTER 4 SYSTEM REQUIREMENT SPECIFICATION System Requirement Specification (SRS) is a central report, which frames the establishment of the product advancement process. It records the necessities of a framework as well as has a depiction of its significant highlight. A SRS is essentially an associations seeing (in composing) of a client or potential customers frame work necessities and conditions at a specific point in time (generally) before any genuine configuration or improvement work. Its a two-way protection approach that guarantees that both the customer and the association comprehend alternates necessities from that viewpoint at a given point in time The composition of programming necessity detail lessens advancement exertion, as watchful audit of the report can uncover oversights, mistaken assumptions, and irregularities ahead of schedule in the improvement cycle when these issues are less demanding to right. The SRS talks about the item however not the venture that created it, consequently the SRS serves as a premise for later improvement of the completed item. The SRS may need to be changed, however it does give an establishment to proceed with creation assessment. In straightforward words, programming necessity determination is the beginning stage of the product improvement action. The SRS means deciphering the thoughts in the brains of the customers the information, into a formal archive the yield of the prerequisite stage. Subsequently the yield of the stage is a situated of formally determined necessities, which ideally are finished and steady, while the data has none of these properties FUNCTIONAL REQUIREMENTS Functional Requirement defines a function of software system and how the system must behave when presented with specific inputs or conditions. These may include calculations, data manipulation and processing and other specific functionality. The functional requirements of the project are one of the most important aspects in terms of entire mechanism of modules The functional requirements here are The user lift the phone and with the help of accelerometer detect the x, y z coordinate It uses k-means clustering algorithm to analysis the process of partitioning a set of data objects (or observations) into subsets It uses Hidden Markov Model to train a users figure gesture and handholding pattern It dynamically authenticate the legitimate user of the device and distinguish the user from other unauthorized users NON-FUNCTIONAL REQUIREMENTS In addition to the obvious features and functions that you will provide in your system, there are other requirements that dont actually DO anything, but are important characteristics nevertheless. These are called non-functional requirements or sometimes Quality Attributes. For example, attributes such as performance, security, usability, compatibility arent a feature of the system, but are a required characteristic. You cant write a specific line of code to implement them, rather they are emergent properties that arise from the entire solution. The specification needs to describe any such attributes the customer requires. You must decide the kind of requirements that apply to your project and include those that are appropriate. Here are some Non-Functional Requirements Reliability The framework ought to be dependable and solid in giving the functionalities. When a client has rolled out a few improvements, the progressions must be made unmistakable by the framework. The progressions made by the Programmer ought to be unmistakable both to the Project pioneer and in addition the Test designer Security Aside from bug following the framework must give important security and must secure the entire procedure from smashing. As innovation started to develop in quick rate the security turned into the significant concern of an association. A great many dollars are put resources into giving security. Bug following conveys the greatest security accessible at the most noteworthy execution rate conceivable, guaranteeing that unapproved clients cant get to imperative issue data without consent. Bug following framework issues diverse validated clients their mystery passwords so there are limited functionalities for all the clients Maintainability The framework observing and upkeep ought to be basic and target in its approach. There should not be an excess of occupations running on diverse machines such that it gets hard to screen whether the employments are running without lapses Performance The framework will be utilized by numerous representatives all the while. Since the framework will be facilitated on a solitary web server with a solitary database server out of sight, execution turns into a noteworthy concern. The framework ought not to succumb when numerous clients would be utilizing it all the while. It ought to permit quick availability to every last bit of its clients. For instance, if two test specialists are all the while attempting to report the vicinity of a bug, then there ought not to be any irregularity at the same time Portability The framework should to be effectively versatile to another framework. This is obliged when the web server, which s facilitating the framework gets adhered because of a few issues, which requires the framework to be taken to another framework Scalability The framework should be sufficiently adaptable to include new functionalities at a later stage. There ought to be a typical channel, which can oblige the new functionalities Flexibility Flexibility is the capacity of a framework to adjust to changing situations and circumstances, and to adapt to changes to business approaches and rules. An adaptable framework is one that is anything but difficult to reconfigure or adjust because of diverse client and framework prerequisites. The deliberate division of concerns between the trough and motor parts helps adaptability as just a little bit of the framework is influenced when strategies or principles change CHAPTER 5 ANDROID DESCRIPTION Attendance is an app for teachers that want to take attendances in their classes using their phones. With Attendance you can create courses, terms and course occurrences create groups of students with different schedules add students to groups and finally take attendances. Attendance status can be configured for each occurrence and are Present, absent. Export attendance data to CSV and HTML. In a future release, it will be possible to export to Excel, Markdown, Dokuwiki and also e-mail students and a bunch of other planned features. Android App on mobile attendance is a simple to use Attendance Log. You can setup Categories along with Sub-Categories. Once on the Attendance Manager Screen a simple click in the box automatically updates the running total of attendance for that person One useful scenario is for college teachers to take attendance of the students during their excursions. Attendance records – an important feature for any coach, teacher, trainer or tutor. Add extensive student details for each student, including email, home phone number and much more Easily generate random teams and groups of up to 60 students per group. Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language. The androidmobile operating systemis based on theLinux kernel. Google and other members of theOpen Handset Alliancecollaborated on Androids development and release. The Android Open Source Project (AOSP) is tasked with the maintenance and further development of Android APPLICATIONAndroid applications are written in the Java programming language. The Android SDK tools compile the codealong with any data and resource filesinto anAndroid package, an archive file with an.apksuffix. All the code in a single.apkfile is considered to be one application and is the file that Android-powered devices use to install the application. Once installed on a device, each Android application lives in its own security sandbox The Android operating system, is a multi-user Linux system in which each application is a different user By default, the system assigns each application a unique user ID (the ID isused only by the system and is unknown to the application). The system sets permissions for all the files in an application so that only the user ID assigned to that application can access them Each process has its own virtual machine (VM), so an applications code runs in isolation from other applications By default, every application runs in its own Linux process. Android starts the process when any of the applications components need to be executed, then shuts down the process when its no longer needed or when the system must recover memory for other applications In this way, the Android system implements theprinciple of least privilege. That is, each application, by default, has access only to the components that it requires to do its work and no more. This creates a very secure environment in which an application cannot access parts of the system for which it is not given permission However, there are ways for an application to share data with other applications and for an application to access system services Its possible to arrange for two applications to share the same Linux user ID, in which case they are able to access each others files. To conserve system resources, applications with the same user ID can also arrange to run in the same Linux process and share the same VM (the applications must also be signed with the same certificate) An application can request permission to access device data, such as the users contacts, SMS messages, the mountable storage (SD card), camera, Bluetooth, and more. All application permissions must be granted by the user at install time That covers the basics regarding how an Android application exists within the system. The rest of this document introduces you to The core framework components that define your application The manifest file in which you declare components and required device features for your application CHAPTER 6 SYSTEM ARCHITECTURE The architectural configuration procedure is concerned with building up a fundamental basic system for a framework. It includes recognizing the real parts of the framework and interchanges between these segments. The beginning configuration procedure of recognizing these subsystems and building up a structure for subsystem control and correspondence is called construction modeling outline and the yield of this outline procedure is a portrayal of the product structural planning. The proposed architecture for this system is given below. It shows the way this system is designed and brief working of the system Use Case Diagram A use case chart is a kind of behavioral graph made from a Use-case examination. Its object is to present a graphical diagram of the usefulness gave by a framework regarding performers, their objectives (spoke to as utilization cases), and any conditions between those utilization cases. Use case chart gives us the data about how that clients and utilization cases are connected with the framework. Use cases are used amid prerequisites elicitation and examination to speak to the usefulness of the framework. Use cases concentrate on the conduct of the framework from an outside perspective A use case depicts a capacity gave by framework that yields an obvious result for a performer. A performing artist portrays any element that collaborates with the system. The performers are outside the limit of the framework, while the use cases are inside the limit of the framework. On-screen characters are spoken to with stick figures, use cases with ovals, and the limit of the framework with a container encasing the use cases Sequence Diagram A sequence diagram is an integrated Modelling Language is a sort of communication diagram that shows procedures work with each other and in what request. Sequence diagrams are some of the time called occasion follow diagrams, occasion situations, and timing diagram. Sequence diagrams are utilized to formalize the conduct of the framework and to picture the correspondence among articles. They are valuable for recognizing extra questions that takes part in the utilization cases. A sequence diagram speaks to the associations that happen among these articles Data Flow Diagram The DFD is straightforward graphical formalism that can be utilized to speak to a framework as far as the info information to the framework, different preparing did on this information and the yield information created by the framework. A DFD model uses an exceptionally predetermined number of primitive images to speak to the capacities performed by a framework and the information stream among the capacities. The principle motivation behind why the DFD method is so famous is most likely in light of the way that DFD is an exceptionally basic formalism- It is easy to comprehend and utilization. Beginning with the arrangement of abnormal state works that a framework performs, a DFD display progressively speaks to different sub capacities. Actually, any various leveled model is easy to get it The human personality is such that it can without much of a stretch see any progressive model of a framework in light of the fact that in a various leveled model, beginning with an extremely straightforward and unique model of framework, distinctive points of interest of a framework are gradually presented through the diverse orders. A data-flow diagram (DFD) is a graphical representation of the stream of information through a data framework. DFDs can likewise be utilized for the perception of information handling CHAPTER 7 IMPLEMENTATION The implementation phase involves the actual materialization of the ideas, which are expressed in the analysis document and developed in the design phase. Implementation should be perfect mapping of the design document in a suitable programming language in order to achieve the necessary final product. Often the product is ruined due to incorrect programming language chosen for implementation or unsuitable method of programming. It is better for the coding phase to be directly linked to the design phase in the sense if the design is in terms of object oriented terms then implementation should be preferably carried out in a object oriented way The implementation involve Careful planning Investigation of the current system and the constraints on implementation Training of staff in the newly developed system Implementation of any software is always preceded by important decisions regarding selection of the platform, the language used, etc. these decisions are often influenced by several factors such as real environment in which the system works, the speed that is required, the security concerns, and other implementation specific details. There are three major implementation decisions that have been made before the implementation of this project. They are as follows Selection of the platform (Operating System) Selection of the programming language for development of the application Coding guideline to be followed 7.1 GRAPHICAL USER INTERFACE DESIGN Graphical user interface is a type of user interface that allows users to interact with electronic devices using images rather than text commands, A GUI represents the information action available to a user through graphical icons visual indicators such as secondary notation, as opposed to text-based interfaces, type command labels or text navigation. The actions are usually performed through direct manipulation of the graphical elements. A GUI uses a combination of technologies devices to provide a platform that the user can interact with, for the tasks of gathering producing information A series of elements confirming a visual language have evolved to represent information stored in computers. This makes it easier for people with a few computer skills to work with and use computer software Designing the visual composition temporal behavior of a GUI is an important part of software application programming in the area of human-computer interaction. Its goal is to enhance the efficiency ease of use for the underlying logical design of a stored program, a design discipline known as usability. Methods of user-centered design are used to ensure that the visual language introduced in the design is well tailored to the tasks The Graphical user interface is developed using Android Studio which makes our application easier to use CHAPTER 8 TESTING Testing is an important phase in the development life cycle of the product. This is the phase, where the remaining errors, if any, from all the phases are detected. Hence testing performs a very critical role for quality assurance and ensuring the reliability of the software During the testing, the program to be tested was executed with a set of test cases and the output of the program for the test cases was evaluated to determine whether the program was performing as expected. Errors were found and corrected by using the below stated testing steps and correction was recorded for future references. Thus, a series of testing was performed on the system, before it was ready for implementation It is the process used to help identify the correctness, completeness, security, and quality of developed computer software. Testing is a process of technical investigation, performed on behalf of stake holders, i.e. intended to reveal the quality-related information about the product with respect to context in which it is intended to operate. This includes, but is not limited to, the process of executing a program or application with 8.1 Types of Testing Unit Testing Individual component are tested to ensure that they operate correctly. Each component is tested independently, without other system component. This system was tested with the set of proper test data for each module and the results were checked with the expected output. Unit testing focuses on verification effort on the smallest unit of the software design module. This is also known as MODULE TESTING. This testing is carried out during phases, each module is found to be working satisfactory as regards to the expected output from the module Integration Testing Integration testing is another aspect of testing that is generally done in order to uncover errors associated with flow of data across interfaces. The unit-tested modules are grouped together and tested in small segment, which make it easier to isolate and correct errors. This approach is continued unit I have integrated all modules to form the system as a whole System Testing System testing is actually a series of different tests whose primary purpose is to fully exercise the computer-based system. System testing ensures that the entire integrated software system meets requirements. It tests a configuration to ensure known and predictable results. An example of system testing is the configuration oriented system integration testing. System testing is based on process description and flows, emphasizing pre-driver process and integration points Performance Testing The performance testing ensure that the output being produced within the time limits and time taken for the system compiling, giving response to the users and request being send to the system in order to retrieve the results Validation Testing The validation testing can be defined in many ways, but a simple definition is that. Validation succeeds when the software functions in a manner that can be reasonably expected by the end user Black Box testing Black box testing is done to find the following Incorrect or missing functions Interface errors Errors on external database access Performance error Initialization and termination error White Box Testing This allows the tests to Check whether all independent paths within a module have been exercised at least once Exercise all logical decisions on their false sides Execute all loops and their boundaries and within their boundaries Exercise the internal data structure to ensure their validity Ensure whether all possible validity checks and validity lookups have been provided to validate data entry Acceptance Testing This is the final stage of testing process before the system is accepted for operational use. The system is tested within the data supplied from the system procurer rather than simulated data CHAPTER 9 CONCLUSION This thesis proposes an innovative mobile device user authentication based on modeling, learning and recognizing user device handholding patterns and finger gestures using machine learning algorithms of Hidden Markov Model, K-mean clustering and Least Mean Square. By developing an Android App on Google Nexus 5X, we collect two data sets from users to evaluate the system performance. The training process, which preprocesses the raw sensor data with the k-mean clustering algorithm, takes a short time to generate excellent performance for clustering. An HMM algorithm is implemented in Java to learn and recognize a users gestures based on the preprocessed sensor data. With training with HMM, a common set of patterns are learned for each user. The trained HMM models are combined by Least Mean Square linear regression for the final authentication. The experimental results show that the system can achieve 89 accuracy. The accuracy can be improved with more sensor data taken for learning and training while a device is used for longer and longer CHAPTER 10 FUTURE ENHANCEMENT In future work, we expect higher accuracy by using our mode. To improve the accuracy, we can increase the input dataset size and it is necessary to use more sensor data to learn user gestures. We will invite more users to participate in our experiments. It is necessary to explore more activities during collecting data, not just picking up a device. Through different kinds of activities, we can learn the users gesture better. Also, based on our research we know that sensors can represent a users characteristic behavior and physical environment. So, how to decrease the risks and security concerns is an interesting and potential research area Hd Y, yu),[email protected]
obaT)KU/RAi0CG 9xu5O_fsW Ou/o7.U(N0wnc. [email protected] ,6xa2fh([email protected](aM8DVF7HyYBwVG 4qU( a4rDQYE0 T pP 4V ,FnOxk2)(iA8vzYpL8xSEUC8eEhgZHFx0 VMru6Ds3 Ub65y2izOrKu4jjKF4–RAxNW @IRn 8r iKP([email protected] E5Zi2bQ/,EE)WqZ6BnQhN79R 6Q