Implementation and Evaluation of a Secure and Efficient Web Authentication Scheme Using Mozilla Firefox and WAMP
Total Page:16
File Type:pdf, Size:1020Kb
(IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 7, No. 2, 2016 Implementation and Evaluation of a Secure and Efficient Web Authentication Scheme using Mozilla Firefox and WAMP Yassine SADQI, Ahmed ASIMI, Younes ASIMI, Zakaria TBATOU,Azidine GUEZZAZ Departments of Mathematics and Computer Science, Information Systems and Vision Laboratory (LabSIV), Faculty of Sciences, Ibn Zohr University B.P 8106, City Dakhla, Agadir, Morocco Abstract— User authentication and session management are mechanism [21]. This version covers the complete cycle of two of the most critical aspects of computer security and privacy authentication in the context of web applications, consisting of on the web. However, despite their importance, in practice, mutual authentication phases and the subsequent HTTP authentication and session management are implemented requests authentication [21]. through the use of vulnerable techniques. To solve this complex problem, we proposed new authentication architecture, called In this paper, we realize a prototype consisting of two StrongAuth. Later, we presented an improved version of modules: A registration module that implements the StrongAuth that includes a secure session management registration phase of the proposed scheme [21], and another mechanism based on public key cryptography and other authentication module that integrates both the mutual cryptographic primitives. In this paper, we present an authentication and the session management phases. On the one experimental implementation and evaluation of the proposed hand, we integrate the client architecture component as an scheme to demonstrate its feasibility in real-world scenarios. extension of Mozilla Firefox that can easily install it using Specifically, we realize a prototype consisting of two modules: (1) Mozilla Firefox Add-ons Manager and the server component as a registration module that implements the registration, and (2) a service of PHP applications within the WAMP platform, an authentication module integrating both the mutual which allows us to avoid recompiling the source code of authentication and the session management phases of the Mozilla Firefox and have an independent server component of proposed scheme. The experimental results show that in the application code; which facilitates the deployment. On the comparison to traditional authentication and session other hand, we evaluate the performance of registration and management mechanisms, the proposed prototype presents the lowest total runtime. authentication modules to evaluate the theoretical study presented in [21]. Keywords— authentication; session management; web security; The rest of the paper is organized as follows: in section 2 cryptographic primitives; computer security and privacy; security we briefly review the registration, the authentication and implementation; authentication scheme; Mozilla Firefox; WAMP session management phases of the proposed scheme [21]. In I. INTRODUCTION (Heading 1) Section 3 we are particularly interested in the implementation of our prototype to show the feasibility of the proposed Despite its widely studied security problems [1]–[13], password authentication through an HTML form is the scheme. Section 4 presents our results and discussions of the dominant mechanism for authenticating users in modern web experimental evaluation of the proposed prototype. Section 5 applications [4], [14], [15]. More specifically, the lack of concluded the paper. authentication standard HTML form and the limited security In the rest of this paper, we denoted by: background of webmasters have created a set of unique design and implementation choices that contain multiple security Ui ith User. vulnerabilities [3], [12]. While authentication experts proposed IDi Unique identifier of user Ui. a wide range of secure alternatives [16][17]–[20], Bonneau et Pi Password of user Ui. al. [4] showed that the majority of these schemes offer more Salti Cryptographic Salt of user Ui . security than passwords, but they are difficult to use and / or d Web application domain name. expensive to deploy [4]. RWi Random value used at most once within the In [13] we have proposed a new authentication architecture, scope of a given session generated by the called StrongAuth, to enhance security without sacrificing web application for Ui. usability and deployability. Specifically, our proposal does not RBi Random value used at most once within the require any additional equipment except a modern web scope of a given session generated by the browser. Later, we presented an improved version of browser for Ui .. StrongAuth including a secure session management USKi,UPKi Asymmetric key pair for user Ui generated by 594 | P a g e www.ijacsa.thesai.org (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 7, No. 2, 2016 the browser using a secure asymmetric key User Ui Browser Web Application generation algorithm. IDi Computes SSK Web application Private Key. UIDi=H(IDi ||d) IDi SPK Web application Public Key certificate. If UIDi does not exist (HTTPS) If IDi does not exist Salti Generates Salti PSKi Pre-Session key shared between Ui and the (HTTPS) web application using HTTPS. Pi SKi Session Key. new Generates USKi, IDi, UPKi Xi Renewal of the parameter Xi. UPKi, (HTTPS) PBKDF( ) Password-Based Key Derivation Function. Computes Generates RWi, MK =PBKDF(P , MKi The master key that is output from an i i Computes SRi= RWi execution of PBKDF by the browser. Salti), H(SSK) , ESKi= SE(MKi, SUPK = UPK SSK SE(k,b) Encryption of b by k using a secure i i USKi), RWi symmetric encryption algorithm. EPKi= SE (MKi, UPKi) Stores IDi ,SUPKi, SRi AE(k,b) Encryption of b by k using a secure Stores UIDi, ESKi, asymmetric encryption algorithm. EPKi, Salti SD(k,b) Decryption of b by k using a secure Fig. 1. Registration phase symmetric decryption algorithm. B. Mutual authentication and session management phase AD(k,b) Decryption of b by k using a secure asymmetric decryption algorithm. Primarily, this phase aims to provide: H( ) Cryptographic one way hash function. A strong mutual authentication between the HMAC(K,m) Compute the keyed-Hash Message communicating entities without disclosure of the Authentication Code of message m using the original authentication settings. secret key K. An agreement on a session key SKi. A || B The concatenation of binary strings A and B. XOR operation. An HMAC signature in each HTTP request from the browser to the web application using SKi. == Comparison. Figure 2 describes the protocol steps CCS Client Cryptographic Services. User Browser Web Application UACM User Authentication Credentials Manager. Ui CS Client Storage. IDi Computes IDi UIDi=H(IDi ||d)And (HTTP) Checks if IDi exists SCS Server Cryptographic Services. Checks if UIDi exists SPK RD Registration Database. (HTTP) P Generates PSK url URL of the resource requested by U browser. i i i Computes Ki = AE(SPK,PSKi) Generates RBi II. REVIEW OF THE PROPOSED SCHEME Computes MK =PBKDF(P , Salt ), In this section, we briefly review the registration, the i i i USKi = SD(MKi,ESKi), authentication and session management phases of the UPKi = SD(MKi,EPKi), proposed scheme. For all details see [21]. M2i= RBi PSKi UPKi, MDi = H(IDi||d||UPKi || A. Registration Phase RBi ||PSKi)), K M2 The registration phase is invoked whenever a new user U IAi = AE(USKi ,MDi) i i, i IAi wants to register within the web application. This registration (HTTP) process does not ask from Ui more than choosing an IDi and Computes PSKi = AD(SSK, Ki), Pi. It is know that password-based authentication presents several security problems. For this, the browser transparently RWi =SRi H(SSK), UPKi = SUPKi SSK from Ui integrates other cryptographic parameters that are RWi, used to strengthen users‘ authentication. Also in this phase, RBi = M2i PSKi the proposed scheme relies on HTTPS to protect UPKi. UPKi confidentiality and integrity. This phase proceeds as follows: MDi’ =H(ID’i||d || UPKi || RBi ||PSKi), MDi = AD(UPKi, IAi) Compares MDi’== MDi On success new Generates RWi Computes new M3i = RWi PSKi UPKi, 595 | P a g e www.ijacsa.thesai.org (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 7, No. 2, 2016 new Computes M3i , M4i M4i = H (RBi || RWi TABLE II. THE TECHNOLOGIES USED IN THE IMPLEMENTATION OF THE new SERVER COMPONENT RWi = M3i PSKi HTTP ||PSKi|| UPKi), UPKi, Entities Technology M4 ’= H (RB || RW new i i i Apache [26]: Apache HTTP Server with the support of ||PSKi|| UPKi) SKi= H(IDi ||d || new Web Server the module Mod_SSL [27] that allows the Compares M4i == M4i’ UPKi||RBi || RWi || implementation of HTTPS. On success PSKi) SKi= H(IDi ||d || UPKi|| Web Application Application based on PHP 5. new RBi|| RWi || PSKi) Hash and OpenSSL : PHP platform provides a set of cryptographic extensions either as a part of the core PHP new Generates RBi functionalities (without the use of a third-party Computes program), or relies on other cryptographic libraries. In new M5i= RBi PSKi our prototype implementation we use two extensions: UPKi , M6i = HMAC(SKi, url|| M5i,M6i Hash [28]: For the calculation of hash and new new new RBi || RWi ) HTTP Computes RBi = message authentication code (HMAC). Hash is a M5i PSKi UPKi , digital hash engine, part of the core of PHP. That M6’i = HMAC(SKi, url|| Server means we can use these functions in the web new new RBi || RWi ) Cryptographic application without installing a third-party library. Compares M6’i == M6i Services (SCS) OpenSSL [29]: As opposed to Hash, the use of this Fig. 2. Mutual authentication and session phases module requires the presence of an equal or higher version 0.9.6 of OpenSSL cryptographic library. The purpose of this extension is to present a set of III. IMPLEMENTATION OF THE PROPOSED PROTOTYPE cryptographic functions that can be used easily in a To show the feasibility and effectiveness of the proposed PHP script(e.g. asymmetric/symmetric encryption, scheme [21], we realize a prototype. Mainly it aims to generation and verification of digital signatures, experience the registration phase, mutual authentication and etc.).