Securing Client and Server Connections From Parameter Tampering Using Time-Based Hash Encryption
Securing Client and Server Connections From Parameter Tampering Using Time-Based Hash Encryption
ISSN No:-2456-2165
Tjokro Hadi.
2
Politeknik Negeri Semarang, Central Java, Indonesia
Abstract:- This paper proposes a method to prevent II. PARAMETER TEMPERING PREVENTION
parameter tampering on web services. Time based hash
encryption is able to give unpredictable output which Tampering prevention by requiring connection divides
changes periodically ac-cording to input. The proposed authentication into the following.
method uses different parts of function output as
authenti-cation key and parameter order. The A. single line authentication
presented method has several characteristics. Each This method uses one line for requests and
encryption and decryption needs to be able to generate authentication. A season key is given after the login
the same VST. Vst used must have a periodic record so process. A later request will be made using the received
that it is pos-sible to get Vs (t-1).Each used Vst works season key, [10], prone to hijacking.
without trouble on both time variants (tests 1-3) and B. double line authentication
invariant (tests 3-5). From the Decrypt column, we can This method uses a separate connection for the request
see that, as a side effect, each pass parameter is and authentication.
decrypted and cut off. To evaluate proposed work, we a) Token generator.
make software to encrypt and decrypt a request. We This method uses a separate device to generate
limit the test to having no delay. tokens that were previously synchronized with the
Keywords:- Securing Client, Server Connections, server before being handed to the user [7]. This
Tampering, Encryption. method uses one line that serves as a connection
between software and the server, as the token
I. INTRODUCTION connection has already been severed when the user
receives the token.
Online software is software that needs an internet
connection. Each operation uses a request package sent b) SIM card
from online software to the server and replied with data. With SIM cards, the system could use different
This process often uses unsafe connections prone to attacks. communication lines to exchange token information
Online software attacks require four steps [1], which are [11]. It limits It is used in some devices that run SIM
information gathering, assessing vulnerability, launching an cards, such as mobile phones, and will only be
attack, and cleaning up. Information gathering is collecting usable if the SIM card is able to receive a signal.
transported data in a network, TLS (Transport Layer
Security) is able to avert this [2]. Unfortunately, TLS is not c) RFID
reliable and needs a secure endpoint [3]. Encryption can An authentication token using RFID or other
prevent assessment of vulnerability [4]–[6]. Launching an verification objects that can emulate RFID is also
attack and cleaning up is avertable by authentication [7]. viewable. Any device that hosts a client must have
an RFID reader. And because the token is always
One of the known attacks is parameter tampering [8]. the same, if an attacker knows it, a new request from
It works by assessing package vulnerabilities and then an attacker using this token will always be accepted
launching attacks by modifying or creating packages able by the server.
to bypass the rules [9].
C. Common vulnerability
Each method presented is prone to hijacking executed
on the information gathering step of an online software
attack [1]. This vulnerability is caused by each data
package having a common form, which means the attacker
only needs to fill in the authentication parameters [8], [12]
either by interjects or guessing [13]. Guessing includes
repeatedly entering possible text strings, commonly known
as brute force attacks [12].
Step Output
0 www.website.com/api.php?service=01&user=0001&pass=3342...E
1 www.website.com/api.php?1=01&2=0001&3=3342...E
2 www.website.com/api.php?1=01&2=0001&33342...E &4=DDDD…54321
3 www.website.com/api.php?1=01&2=0001&3=3342...E&4=FFFF...0&5=DDDD... 54321
4 www.website.com/api.php?1=01&2=0001&3=3342&4= FFFF &5= DDDD
5 www.website.com/api.php?1=DDDD&2=FFFF&3=3342&4=0001&5=01
Table 1: Test result
Here are the 5 steps of the proposed en-cryption. Step 1's goal is to get the parameter’s or-der and
Change the parameter name authentication key. Step 2 is check-ing the authentication
Add HAs as a new parameter key before com-municating with the server for further
Add fake parameter package processing. Step 3 is to get the oth-er parameters
Reduce the LSB of parameters that aren't as important. from the received package. Step 4 is to try to execute the
Shuffle parameters using the LSB of Has request using variables extracted from the package. Step 5
is to accommodate the delay in transportation time.
Step 1 is used to disguise the purpose of each
parameter. Step 2 is adding the authentication key as a B. Testing
parameter for authentication. Step 3 is used to make each In this section, we will apply the above method to
operation have the same number of parameters to secure a simple get request. The encryption begins with the
camouflage the type of service. The parameter added is requested form and proceeds for every 5 steps of encryp-
randomly generated as it is not needed later and must be tion, which is decrypted later. Each encryption step output
inserted between the required parameter and authentication is shown on Table 1 with explanations given below.
key. Step 4 is used to equate less important parameters with Step 0 is a simple Get request serving as encryption
fake parameters by likening their length. target.
Step 1 is output after changing the pa-rameter name
The designer must understand which pa-rameters are Step 2 is after adding HAs which become parameter 4.
not allowed to be cut. Step 5 is used to change the HAs calculated using GMT hour-minute (HH:MM) as
parameter order periodi-cally. Vst and MD5 is used as Cdh.
Step 3 is adding fake parameter between real parameter
Here is the required step to decrypt the encryption above. and HAs. parameter 4 be-come fake parameter and HAs
Calculate HAs is moved to parameter 5.
Validation Step 4 is removing the LSB of other pa-rameters so they
Extract parameters have the same length as the most important parameter,
Try to process it which is "us-er" or parameter 2.
If there is an error, go back to step 1 and use Vs (t-1) Step 5 is reordering parameters using the LSB of HAs.
Then, this request is sent to the server to be decrypted
later.