Distributed Login Concept to Assess Its Feasibility and Integrity As a Security Solution

Distributed Login Concept to Assess Its Feasibility and Integrity As a Security Solution

Can distributed two-factor authentication provide security benefits over traditional methods? Supervisor: <redacted> Jack Edwards De Montfort University <redacted> Abstract This report aims to assess the feasibility and security of a distributed approach to multi-factor authentication. The main issue facing current multi-factor authentication solutions is that they can be inconvenient to use as they require manual entry of a code by the user, or for the user to sign in to an email account to click an authentication link. One additional concern that this project aims to address, is the issue of storing sensitive user authentication data in a single database. Storing this data in a single database turns this database into a ‘holy-grail’ for attackers looking to exfiltrate data for nefarious purposes. This project, and the accompanying program, look at the potential in distributing security data across MySQL databases and a USB storage device. This approach will be assessed for its security and ease of use for the end user, as well as a comparison with other methods of multi-factor authentication. The accompanying software was built in Python 3.7 and is available on GitHub through the link found in Appendices 3. 2 Jack Edwards De Montfort University <redacted> Table of Contents Abstract .................................................................................................................................................. 2 Table of Contents ................................................................................................................................... 3 Introduction ............................................................................................................................................ 4 Literature Review ................................................................................................................................ 4 Project Features .................................................................................................................................. 7 Functionality ....................................................................................................................................... 9 Development ........................................................................................................................................ 11 Coding approach ............................................................................................................................... 11 Developed features ........................................................................................................................... 14 Testing ............................................................................................................................................... 16 Software testing with Unity Testing ........................................................................................ 17 Network confidentiality testing with Secure Shell (Ssh) .......................................................... 18 Performance testing with user experience timing .................................................................. 20 Conclusion ............................................................................................................................................ 22 Product evaluation ............................................................................................................................ 22 Additional features ........................................................................................................................... 23 Points of Concern for Cyber Security ................................................................................................ 26 Research techniques ......................................................................................................................... 26 Evaluation of approach ..................................................................................................................... 27 Evaluation of tools used .................................................................................................................... 28 Final thoughts ................................................................................................................................... 28 Bibliography.......................................................................................................................................... 29 Appendices ........................................................................................................................................... 32 Appendices 1 – Unit testing script used in software unit tests ........................................................ 32 Appendices 2 – All results from user experience timing tests .......................................................... 34 Appendices 3 – Source code link....................................................................................................... 34 Appendices 4 – Gantt Chart (redacted) ............................................................................................ 35 3 Jack Edwards De Montfort University <redacted> Introduction This report aims to assess the feasibility of a distributed approach to multi-factor authentication security data storage. Multi-factor authentication adds an additional layer of security to the traditional password and username combination, or single-factor authentication. A basic example of multi-factor authentication would be a four-digit code that is sent to the user attempting to sign-in via SMS, which they then must enter after correctly entering their password. This would be considered 2FA and can be found on websites and applications that have web-based services, for example the discord app (Discord Inc., 2019). The issue with these systems is that the security codes can be bypassed a man-in-the-browser attack with tools such as evilnginx2 (kgretzky, 2018) by exploiting a vulnerability in the ‘trusted device’ feature which was originally intended to increase usability. Secondly, there have been examples of security data exfiltration by malicious actors against large scale organisations such as the adobe hack of 2013 (Hern, 2013). This data leak, and others like it, were partly due to the data being stored in an insecure manner in a single database, turning the user account security database into a ‘holy grail’ for attackers to exfiltrate data from. This project aims to explore these two main issues with user account security, to try and find resolutions these issues whilst maintaining usability for non-technical users and keeping security as a priority as well. This report will look at several multi-factor authentication solutions and compare their performance with the distributed login concept to assess its feasibility and integrity as a security solution. The concept will attempt to solve the ‘single database’ security problem by splitting the multi-factor authentication data across multiple MySQL databases and a USB device that the user takes with them. This device also adds the benefit of increasing the factors of authentication, in that the device itself is required to perform the login sequence as it contains the critical part of the authentication key that in turn can be increasingly complex as the user does not need to enter the data manually. The project also looks at an implementation of groups as an authentication factor; this simply asks the user which ‘group’ they last signed out from. This adds an additional factor of authentication, as the user will be the only person who knows which group they last used, and therefore the system will be able to refer to the database that corresponds with that group to obtain the correct security data for authentication. As both the USB device and the group are a required step in the login process, and the project treats every device as ‘untrusted’ when a sign in request is made, this should mitigate the exploitation of the ‘trusted device’ feature that evilnginx2 (kgretzky, 2018) exploits. Literature Review Single factor authentication using passwords has inherent security flaws form multiple perspectives. Breaches such as the adobe password database hack in 2013 as covered by Ducklin in their article (DUCKLIN, 2013), have taught the security community that centralising security credentials can have disastrous consequences, even if the credentials are encrypted. Colnago et al. elaborate; “Password breaches, either due to the large number of password database leaks or to increasingly sophisticated (and possibly targeted) phishing attacks, seriously increase the risk of authentication credential compromise. Worse, these risks are further compounded by poor user password hygiene, such as creating easily discoverable passwords or reusing them across multiple accounts” (COLNAGO, et al., 2018). The need for a second method of authentication has, since breaches such as the aforementioned adobe hack, been in increasing demand by large organisations in order to protect their users. Due to this demand, development of multi-factor authentication tools has become increasingly pertinent for companies such as Google (Google LLC, n.d.) and Microsoft (Microsoft Corporation, 2018) as a way of authenticating users with something more than just their password. Some companies, such as yahoo have even replaced passwords with a push notification on the 4 Jack Edwards De Montfort University <redacted> user’s mobile device when they log in. (Yahoo, n.d.)

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    34 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us