=Paper= {{Paper |id=Vol-3826/short3 |storemode=property |title=The system of secured user’s credentials transfer (short paper) |pdfUrl=https://ceur-ws.org/Vol-3826/short3.pdf |volume=Vol-3826 |authors=Oleksandr Korchenko,Yevheniia Ivanchenko,Ihor Ivanchenko,Yevhenii Pedchenko,Mari Petrovska |dblpUrl=https://dblp.org/rec/conf/cpits/KorchenkoIIPP24 }} ==The system of secured user’s credentials transfer (short paper)== https://ceur-ws.org/Vol-3826/short3.pdf
                                The system of secured user’s credentials transfer ⋆
                                Oleksandr Korchenko1,*,†, Yevheniia Ivanchenko2,†, Ihor Ivanchenko2,†,
                                Yevhenii Pedchenko2,† and Mari Petrovska2,†
                                1
                                    State University of Information and Communication Technologies, 7 Solomianska str, 03110 Kyiv, Ukraine
                                2
                                    National Aviation University, 1 Liubomyra Huzara ave., 03058 Kyiv, Ukraine



                                                   Abstract
                                                   This paper describes a developed system of secured user credentials transfer from a user’s web browser to
                                                   a web application server. This paper will describe in detail the operation of an advanced 10-level encryption
                                                   algorithm for user credentials and demonstrate a High-Level Design system that represents the algorithm’s
                                                   step-by-step execution. The basis of this algorithm is the verification of user data to detect illegal (malicious)
                                                   activity when entering a user’s login and password. Based on the presented encryption algorithm, an
                                                   experimental study of the developed user authorization web page and the processing of the entered
                                                   credentials, before sending and after receiving the data processed by the web server.

                                                   Keywords
                                                   cybersecurity, MITM, brute-force, frontend, backend, authorization, authentication, user protection,
                                                   database protection, data privacy, credentials 1



                         1. Introduction                                                              of Internet users and unique devices is growing every day,
                                                                                                      the problem of ensuring secure users’ credentials transfer to
                         Nowadays, where most companies work with clients and                         the web-application server remains.
                         web applications, creating and using a personalized user                         Most modern web applications have a field for entering
                         account requires unique credentials, which are one of the                    a login and password to gain access to the internal closed
                         key targets of attackers. For giant companies with a certain                 resources of the web application and the stored personal
                         market share, developing a secure web application is a                       data of the credential holder. However, some of these web
                         common task, as these companies can maintain a full                          applications contain partial or do not contain security
                         department of developers who will develop and improve the                    checks of the entered user’s login and password, such as:
                         web application, but for new companies or SMBs, this task
                         is very critical, as they are unable to maintain a sufficient                         Lack of security checks on a large number of
                         number of developers to cover all the necessary tasks for                              password entries, which leads to a Bruteforce attack.
                         developing a web application, including security. Therefore,                          Lack of security checks of the content of entered
                         these companies either do not use security for their web                               credentials by the user, which leads to a SQL-
                         applications at all and remain vulnerable to cyber-attacks or                          Injection attack etc.
                         spend a significant portion of the company’s budget on
                         implementing 3rd party technologies to ensure the secure                         In most cases, companies, in order not to modify the
                         operation of web applications, secure user authentication,                   client-server part, which may affect the performance of the
                         and transfer personal data.                                                  developed web application, use various commercial
                             Based on the analysis, Table 1 shows a list of the Top 5                 solutions to close and prevent potential cyber threats or
                         commercial technologies used by companies and a list of                      cyberattacks, that have targeted the performance of the web
                         threats that are prevented by these technologies.                            application, leakage of commercial information and
                                                                                                      personal data of employees/customers of the company [1].
                         2. Problems of transferring user’s                                           Therefore, the task of securely transferring user credentials
                                                                                                      entered in the form of a web application is relevant today.
                            credentials between client and                                                Therefore, the main goal of this paper is to develop an
                            server                                                                    effective and simple way to verify user input of credentials
                         In modern cyberspace, where most of the world’s users are                    (login and password) to access the internal resources of a
                         located in virtual networks when companies migrating their                   web application and prevent Bruteforce and Man-in-the-
                         computing to cloud service providers, and when the number


                                CPITS-II 2024: Workshop on Cybersecurity Providing in Information           0000-0003-3376-0631 (O. Korchenko);
                                and Telecommunication Systems II, October 26, 2024, Kyiv, Ukraine         0000-0003-3017-5752 (Y. Ivanchenko);
                                ∗
                                  Corresponding author.                                                   0000-0003-3415-9039 (I. Ivanchenko);
                                †
                                  These authors contributed equally.                                      0000-0001-8436-5792 (Y. Pedchenko);
                                   agkorchenko@gmail.com (O. Korchenko);                                  0009-0005-2150-2194 (M. Petrovska)
                                evivancenko@gmail.com (Y. Ivanchenko);                                                 © 2024 Copyright for this paper by its authors. Use permitted under
                                                                                                                       Creative Commons License Attribution 4.0 International (CC BY 4.0).
                                ihor.ivanchenko@npp.nau.edu.ua (I. Ivanchenko);
                                pedchenko.ievhenii@npp.nau.edu.ua (Y. Pedchenko);
                                pmarisha2004@gmail.com (M. Petrovska)
CEUR
Workshop
                  ceur-ws.org
              ISSN 1613-0073
                                                                                                    168
Proceedings
Middle (MITM) attacks using improved and built-in web                    The novelty of this paper is the improvement of the user
application tools [2].                                                   authentication system on web applications by applying
To achieve this goal, the following tasks need to be                     procedures for security verifying the input of credentials
completed:                                                               and contents to detect malicious code, which will allow
                                                                         companies to protect the transfer of credentials and
    1.      Analyze existing technologies and web attacks                personal data of users at the initial stage of the company’s
            that cause monetary and reputational losses to               growth and protects company’s services from leakage,
            companies.                                                   hacking and disruption without the use of third-party
    2.      Develop an improved HLD (High-Level Design)                  technologies [3].
            system, algorithm, and software solution for                     Based on the analysis, Table 1 shows a list of the Top 5
            secure transmission and verification of user                 commercial technologies used by companies and a list of
            credentials (login and password).                            threats that are prevented by these technologies:
    3.      Conduct an experimental study of the developed
            improved version of the user credentials input
            verification.


Table 1
Top 5 commercial technologies that are needed to protect companies’ web application
                                Bruteforce    OWASP Top        DoS                DDoS       Bots      Malware      Man-in-the-Middle
         Technology|Attack
                                 Attacks       10 Attacks     Attacks            Attacks    Attacks    Attacks       (MITM) Attacks
 Web Application Firewall
                                    +              +                +                          +           +
 (WAF) [4]
 DoS/DDoS Protection [5]            +                               +              +
 Multi-factor Authentication
                                    +                                                                                        +
 (MFA) [6]
 Static Application Security
                                                   +                                                       +                 +
 Testing (SAST) [7]
 Dynamic Application
                                                   +                                           +           +                 +
 Security Testing (DAST) [8]


It should be considered that companies eliminate                         enter the login and password of the user registered in the
vulnerabilities that are found after writing web applications            web application.
and publishing them on the Internet using each of the above                  Level 2. After the user enters the login and password, a
technologies.                                                            Hash function is generated for the login using the SHA-256
                                                                         encryption algorithm [10] to make it impossible to decrypt
3. Developing of high-level design                                       the encrypted data and transfer it to the web application
                                                                         server for further processing.
   system                                                                    Level 3: After the web application server receives the
To present the principle of operation of the encryption                  encrypted user login, three additional protection and
methods used to transfer the login and password to the web               verification modules are enabled to prevent the use of the
application server, a High-Level Design (system) was                     Bruteforce attack.
developed that visually demonstrates the step-by-step
processing of the input data by the user and their sequential                     The first stage is the store of the client’s IP address.
transmission to the web application server.                                       In the second stage, the number of unsuccessful
    This approach is based on the 10-level principle (each of                      attempts to authorize the client is counted.
these levels will be described below) of transferring login                       In the third stage, the received content is checked
and password to authenticate the user and ensure the                               for embedded injections that may affect the
authorization of a legitimate user to the internal resources                       functionality of the web server and the web
of the web application, as shown in Fig. 1.                                        application database.
    Level 0. This level is used to establish an encrypted
connection between the client and the server, in this case                   After successful verification by the built-in security
between the client’s browser and the server side of the                  modules and a verdict that the session is from a legitimate
website using the SSL protocol, which contains a set of                  user, the main module is connected, which downloads all
ciphers and protocols not lower than TLS 1.2 or TLS 1.3 [9],             possible Hash functions of all users’ logins to the web
and the size of the encryption key is not lower than 4096                server’s RAM, and searches this list for the received Hash
bits. The use of this encrypted connection is necessary to               login from the user.
avoid MITM attacks and to prevent a legitimate user from                     Level 4. After finding an identical unique user, a one-
joining the session.                                                     time “Salt” (token) [11] is created on the web server side,
    Level 1. At the first level, after successfully establishing         which is recorded in the database and transferred to the
a connection with the web server, the user is displayed the              user. This token is valid only once and the next time the user
web application login page, where the user is prompted to                logs in, the “Salt” will be changeLevel 5. When the client
                                                                         receives a one-time token, the password encryption process


                                                                   169
starts. To transfer the password, we use our own developed             function from the database, and a similar operation is
encryption algorithm consisting of three steps:                        performed as described in Level 5 for the received encrypted
Creating a Hash function of the password entered by the                data. After all the necessary calculations are performed, the
user.                                                                  generated encrypted password is compared with the one-
     Adding a one-time “Salt” (token) to the created Hash              time token and the encrypted password received from the
function of the password.                                              client.
     Creating a Hash function for the data string obtained in              It is important to note that before comparing the data,
the second step.                                                       the data received from the user is checked for injections to
     As a result, we get an encrypted password that cannot             prevent database hacking and disruption of the web server.
be decrypted back, since a one-way encryption method is                    Level 8. At this almost final level, in case of successful
used.                                                                  comparison of the login Hash function and the encrypted
     Also, it is important to note that the encrypted password         password received from the user, a final one-time access
string will be different for each authorization, so this helps         token is generated for the user, which entitles the user to
to avoid MITM attacks and prevent the reuse of the                     access the internal resources of the web application and
encrypted password string for authorization on the web                 receive a link to the main page. Accordingly, the new one-
application.                                                           time token is also stored in the database.
     Level 6. After encrypting the user’s password at Level                Level 9. After successfully passing all of the above
5, the encrypted login and password are transmitted to the             levels, the user successfully authenticates to the web
web application server via the created SSL channel.                    application and follows the link received from the web
     Level 7. After the web application server receives the            application, which gives the user the right to use the
encrypted login and password from the user, the procedure              capabilities of the web application within the limits of the
described in Level 3 is repeated, and the user’s login is              authorized access rights and the configured role-based
compared by the Hash function, which allows you to get a               access model (RBAC) [12].
one-time token (Salt) and password in the form of a Hash




Figure 1: High-level design system of secure login and password transmission from client to web application server via
secured tunnel

The algorithm described above, presented as an HLD                     4. Experimental investigation of the
system, will allow companies developing web applications
to provide comprehensive verification and secure transfer                 developed algorithm processing
of user credentials to the webserver to avoid the possibility             for secure transmission of user’s
of MITM and Bruteforce attacks and prevent the need to                    credentials
purchase commercial solutions (types of which are
presented in Table 1) at the early stages of company and               Based on the third section of this paper, which presents the
web application development.                                           algorithm of the developed approach to securely transfer
                                                                       user credentials to the web application server, the practical
                                                                       application of this algorithm will be presented.
                                                                       Demonstrations of the developed algorithm will be
                                                                       presented below in this section.




                                                                 170
For example, it will be used in the web application under               When you enter the user credentials and click the “Login”
development—“Enco Console”, which contains a user login                 button, the algorithm described in the third section of this
and password field to access the internal capabilities and              paper is executed. To provide a visual view of how user data
data of the web application (Fig. 2). For testing, we used the          is being processed at each stage of execution, a function was
next test credentials: root (login) and qwerty12345                     added that displays an intermediate result.
(password).                                                                 At level 2 of the developed algorithm, after entering the
                                                                        login and password, a hash function of the user’s login is
                                                                        created and the processed data is sent to the web server
                                                                        (Fig. 3), as shown in the image below.
                                                                            After successfully transferring the user’s login Hash
                                                                        function to the web application server and performing the
                                                                        necessary checks on the server side, the user receives a one-
                                                                        time token that will be valid only until the user is re-
                                                                        requested to log in (Fig. 4).

Figure 2: User authorization form




Figure 3: Creating a Hash function for the user’s login “root”




Figure 4: Successfully receiving a one-time token (Salt) from the web server

After the successful receipt of a one-time token on the client              1.   Creating a Hash function for the entered user
side, the process of encrypting the user’s password takes                        password makes it impossible to decrypt this line
place, which must be transferred to the webserver to gain                        of code.
access to the internal resources of the web application                     2.   Adding the received one-time token (Salt) to the
(Fig. 5). There are three main operations involved in                            created password Hash function and forming a
encrypting a user’s password:                                                    single 128-character expression [13].
                                                                            3.   Create a Hash function for the single expression
                                                                                 created in step 2.




Figure 5: Encrypting a user’s password before sending it to the web application server

After the web application server has successfully verified              changed. Along with receiving the session key, the user
the received function, the user is sent a session key that will         receives a link to a page that provides access to the internal
be valid only for one user session and, at the next login, both         resources of the web application (Fig. 6).
the one-time token and the one-time session key will be




                                                                  171
Figure 6: Getting a session key and a link to go to the next internal page of the web application

As you can see, the developed algorithm has 10 levels of               provides a practical application and display of the algorithm
verification, where each level launches and executes a                 at each stage of the transmission and receipt of encrypted
different set of procedures that check each field entered by           data between the client’s web browser and the web
the user and the data transmitted to the web application               application server, which allows you to clearly understand
server. That’s why, thanks to the implementation of this               what data is being processed and at what time. Through the
algorithm, businesses in the early stages of development               use of one-time tokens, the company can avoid reusing
have the opportunity to protect their resources from two               tokens and compromising data in the database by gaining
types of attacks: MITM and Bruteforce since to prevent                 unauthorized access to the data in the database. Also, it is
MITM attacks, it is assumed that it will not be possible to            worth noting that this algorithm works in such a way that
resend the token, since when the authorization page                    the data sent to the web server is not transferred to the
reloads, the token will already be updated and, at the same            database in any way, and the data is processed on an
time, the data received from the user does not interact with           intermediate server that interacts with both the client and
the database directly, but only through the server side of the         the database, which prevents SQL-Injection attacks and the
web application. To prevent a Bruteforce attack, the server            use of any other injection that relates specifically to the
side, when receiving hash functions, logs the number of                corruption of data in the database.
successful/failed authorization attempts by the user, where
it is established that after 3 unsuccessful password attempts,         References
the user’s account and IP address are blocked for up to 30
minutes.                                                               [1]   Y. Shcheblanin, et al., Research of Authentication
                                                                             Methods in Mobile Applications, in: Cybersecurity
                                                                             Providing in Information and Telecommunication
5. Conclusions                                                               Systems Vol. 3421. (2023) 266–271.
The analysis conducted at the beginning of this paper has              [2]   M. TajDini, V. Sokolov, V. Buriachok, Men-in-the-
identified the key needs and threats that require the                        Middle Attack Simulation on Low Energy Wireless
purchase of commercial web application security products.                    Devices using Software Define Radio, in: 8th
For enterprise-level companies, these solutions are                          International     Conference      on    "Mathematics.
available, as well as the engineering resources that will be                 Information Technologies. Education": Modern
involved in supporting their operation, but for small SMB                    Machine Learning Technologies and Data Science,
companies or new companies that are just starting, the                       vol. 2386 (2019) 287–296.
purchase of the described set of solutions is unaffordable.            [3]   D. Shevchuk, et al., Designing Secured Services for
That is why it was decided to improve the existing                           Authentication, Authorization, and Accounting of
algorithms, which will allow new companies or SMBs to                        Users, in: Cybersecurity Providing in Information and
protect the credentials of users or customers of a web                       Telecommunication Systems II Vol. 3550 (2023) 217–
application from attacks such as Man-in-the-Middle and                       225.
Bruteforce. To build a secure data transmission channel                [4]   Akamai’s Team, What Is a Web Application Firewall
between the client and the server, an algorithm consisting                   (WAF)?                    (2023).               URL:
of 10 levels was proposed, which describes the interaction                   https://www.akamai.com/glossary/what-is-a-waf
between the client’s web browser and the web application               [5]   AWS’s Team, What is a DDoS Attack? (2023). URL:
server and describes the step-by-step operation of the                       https://aws.amazon.com/shield/ddos-attack-
encryption algorithm. Also, while using and implementing                     protection/?nc1=h_ls.
this algorithm on the authorization page, it is worth                  [6]   AWS’s Team, What is Multi-Factor Authentication
considering subprocesses that are connected at two levels                    (MFA)? (2023). URL: https://aws.amazon.com/what-
on the server side and provide additional verification of user               is/mfa/?nc1=h_ls.
activity when entering a login and password on the
authorization page. Also, for visualization, the last section



                                                                 172
[7]    Synopsys’s Team, Static Application Security Testing
       (2023).                                         URL:
       https://www.synopsys.com/glossary/what-is-sast.html
[8]    Synopsys’s Team, Dynamic Application Security
       Testing           (DAST)         (2023).        URL:
       https://www.synopsys.com/glossary/what-is-
       dast.html
[9]    Cloudflare’s Team, Why use TLS 1.3? (2023). URL:
       https://www.cloudflare.com/learning/ssl/why-use-tls-
       1.3/#:~:text=TLS%201.3%20is%20the%20latest,TLS%20h
       andshakes%2C%20among%20other%20improvements
[10]   Sectigo’s Team, SHA 256 Algorithm Explained by a
       Cyber       Security    Consultant    (2023).   URL:
       https://sectigostore.com/blog/sha-256-algorithm-
       explained-by-a-cyber-security-consultant/
[11]   Auth0’s Team, Adding Salt to Hashing: A Better Way
       to        Store      Passwords      (2023).     URL:
       https://auth0.com/blog/adding-salt-to-hashing-a-
       better-way-to-store-passwords/
[12]   Imperva’s Team, Role-Based Access Control (RBAC)
       (2023). URL: https://www.imperva.com/learn/data-
       security/role-based-access-control-rbac/
[13]   ProxyDefense’s Team, What Is Cryptographic
       Strength: Definition, Examples & More (2023). URL:
       https://proxydefense.com/cryptographic-strength/




                                                              173