a wireless application protocol enabled …

76
i | Page A WIRELESS APPLICATION PROTOCOL ENABLED CRYPTOGRAPHIC MODEL FOR MOBILE COMMERCE SECURITY by KAGISO ONTLOTLILE MABOA 206183365 Submitted in fulfilment of the requirements for the degree MASTER TECHNOLOGIAE in Computer Science: Information Networks (Structured) (Qualification Code: MTINS0) in the FACULTY OF INFORMATION AND COMMUNICATION TECHNOLOGY at the TSHWANE UNIVERSITY OF TECHNOLOGY SUPERVISOR: Dr H.J.G. OBERHOLZER AUGUST 2018

Upload: others

Post on 19-Dec-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A WIRELESS APPLICATION PROTOCOL ENABLED …

i | P a g e

A WIRELESS APPLICATION PROTOCOL ENABLED CRYPTOGRAPHIC MODEL FOR

MOBILE COMMERCE SECURITY

by

KAGISO ONTLOTLILE MABOA

206183365

Submitted in fulfilment of the requirements for the degree

MASTER TECHNOLOGIAE

in

Computer Science: Information Networks (Structured)

(Qualification Code: MTINS0)

in the

FACULTY OF INFORMATION AND COMMUNICATION TECHNOLOGY

at the

TSHWANE UNIVERSITY OF TECHNOLOGY

SUPERVISOR: Dr H.J.G. OBERHOLZER

AUGUST 2018

Page 2: A WIRELESS APPLICATION PROTOCOL ENABLED …

ii | P a g e

DECLARATION

I hereby declare that the dissertation submitted for the degree Master Technologiae in Computer

Science: Information Networks, at Tshwane University of Technology, is my own original work and

has not previously been submitted to any other institution of higher education. I further declare that all

sources cited or quoted are indicated and acknowledged by means of a comprehensive list of references.

K.O Maboa Date: August 2018

Copyright© Tshwane University of Technology 2018

Page 3: A WIRELESS APPLICATION PROTOCOL ENABLED …

iii | P a g e

DEDICATION

This study is dedicated to Almighty God, for His guidance and love; to my mother Emelda, grandmother

Finkie, and late grandfather Meshack Maboa; to Aunt Nkele Kobo, and my family and colleagues, with

thanks and appreciation for your love, support, sacrifice, and commitment.

Page 4: A WIRELESS APPLICATION PROTOCOL ENABLED …

iv | P a g e

ACKNOWLEDGEMENTS

I should like to thank the following people and institutions for their contribution to this study:

➢ First of all, I should like to thank Almighty God, who gave me the strength, the

courage, and the stamina to achieve this project.

➢ Secondly, I am truly thankful to Dr. H.J.G Oberholzer, my dissertation supervisor.

His commitment to excellence and dedication to research, have inspired me

throughout this project. Dr Hardus has also provided timely, informative comments

and evaluation at every stage of the dissertation process. With his guidance and

support, I was able to remain focused and motivated.

➢ I thank CSIR for their financial support: without it, this study would have been

difficult to complete.

➢ Thanks to Prof. N. Ruxwana of the department of Information Technology, for

encouraging me to complete this study.

➢ Grateful thanks to the Tshwane University of Technology, for affording me the

opportunity of studying at such a dynamic and future-orientated institution.

➢ Finally, thanks to my family, friends, and colleagues, for continued support and

encouragement.

Page 5: A WIRELESS APPLICATION PROTOCOL ENABLED …

v | P a g e

ABSTRACT

Since the introduction of E-commerce in 1995 and its associated global impact on the business

environment, another step has been taken in the evolution of networked computing. Mobile Commerce,

also known as M-commerce is providing commercial services that are accessible per mobile device.

With the rapid growth of mobile devices, many services are now offered, allowing users to purchase

goods and services on the move, anytime and anywhere, via their mobile devices. In today’s E-

commerce world, security has become a major issue that must be continuously monitored and enhanced.

In expanding E-commerce to mobile devices, it is also necessary to ensure that these devices are

protected against security threats such as eavesdropping on a wireless network. M-commerce faces the

same security as E-commerce, together with many others, owing to the mobile nature of the service.

Services offered by M-commerce deal with sensitive data that must be protected at all times. However,

the current security measures in place for M-commerce transactions are inadequate. The aim of the

study is to develop a WAP-enabled cryptographic model that is used to secure transmitted data on the

WAP gateway. To this end, the research question is as follows: How may a WAP-enabled cryptographic

model be used to enhance mobile commerce security? The research question is answered through an

experiment that determines that the shared secret keys between entities may be created and sent securely

over the network, using the ECDH algorithm to encrypt and decrypt data. Furthermore, messages

transmitted over the network are verified by signing a message using the ECDSA. Our model resolves

most security issues related to M-commerce, enabling customers to feel comfortable using mobile

devices to conduct online transactions. Further research may be conducted on reducing the size of the

encrypted and decrypted message when implemented in a mobile-commerce environment. Signature

verification is relatively slow and ways to enhance the speed can be looked at. Additionally, Future

research will focus on describing the architecture in more detail. The goal would be to have a complete

description of the system and to illustrate the use of it. The model, implemented in Visual Basic, serves

as a proof of concept. A prototype is developed and evaluated through an analysis of the results. At the

end of our dissertation, we are discussing some recommendations, the limitations of our study and some

future work.

Page 6: A WIRELESS APPLICATION PROTOCOL ENABLED …

vi | P a g e

Table of Contents

DECLARATION…………………………………………………………………………….……. ii

DEDICATION …………………………………………………………………………………..... iii

ACKNOWLEDGEMENTS ………………………………………………………………………. iv

ABSTRACT ………………………………………………………………………………….….... v

LIST OF FIGURES ……………………………………………………………………….…….. ix

LIST OF TABLES …………………………………………………………………………….…... x

ABBREVIATIONS………………………………………………………………………….…….. xi

GLOSSARY…………………………………………………………………………………….….. xiii

1. INTRODUCTION………………………………………………………………………… 1

1.1 PROBLEM…………………………………………………………………………..…….. 4

1.2 RESEARCH OBJECTIVES…………………………………………………….………… 5

1.3 SIGNIFICANCE………………………………………………………………….………... 5

1.4 CONTRIBUTIONS…………………………………………………………………..……. 6

1.5 METHODOLOGY………………………………………………………………….….….. 7

1.6 SYNOPSIS………………………………………………………………………….……... 8

1.7 ASSUMPTIONS OF RESEARCH………………………………………………….…….. 9

2. LITERATURE REVIEW…………………………………………………………………. 10

2.1 BACKGROUND OF CRYPTOGRAPHY…………………………………….………….. 10

2.2 CRYPTOGRAPHIC ALGORITHMS………………………………………….…………. 11

2.3 CRYPTOSYSTEMS USED FOR SECURED M-COMMERCE……………….………… 11

2.4 ELLIPTIC CURVE CRYPTOGRAPHY (ECC)…………………………………………... 12

2.4.1 Supported curves………………………………………………………………………..….. 13

2.4.2 Key-generation speed……………………………………………………………................ 14

Page 7: A WIRELESS APPLICATION PROTOCOL ENABLED …

vii | P a g e

2.4.3 Utilization of elliptic-curve cryptography…………………………………………………. 14

2.5 RIVEST-SHAMIR-ADLEMAN (RSA)…………………………………………………... 14

2.6 DIGITAL SIGNATURES ALGORITHM (DSA)………………………………………… 15

2.7 M-COMMERCE SECURITY MODELS………………………………………………….. 16

2.7.1 Biometric techniques………………………………………………………………………. 16

2.7.2 Advanced mobile security solution based on distributed key……………………………... 17

2.7.3 Improved double-encryption model……………………………………………………….. 18

2.7.4 LSB steganography and cryptography…………………………………………………….. 19

2.8 THE NEED FOR SECURING M-COMMERCE………………………………………… 20

2.9 SUMMARY………………………………………………………………………….……. 21

3. THE MODEL…………………………………………………………………….……….. 23

3.1 MODEL OVERVIEW……………………………………………………………..……… 23

3.2 AUTHENTICATION……………………………………………………………..………. 24

3.3 ENCRYPTION……………………………………………………………………..……... 27

3.4 ECDH KEY EXCHANGE ALGORITHM………………………………………...……… 28

3.5 PRIVACY……………………………………………………………………………...….. 30

3.6 INTEGRITY………………………………………………………………………………. 32

3.7 ELLIPTIC CURVE DIGITAL SIGNATURE (ECDSA)………………………………..... 33

3.7.1 Size and Performance Advantages of ECC Signature Algorithms………………………... 34

3.7.2 ECDSA Security……………………………………………………………………….….. 35

3.7.3 Signature computation……………………………………………………………….……. 36

3.7.4 Signature generation………………………………………………………………………. 36

3.7.5 Signature verification……………………………………………………………….…….. 37

3.8 THE PROCESS …………………………………………………………………………… 38

Page 8: A WIRELESS APPLICATION PROTOCOL ENABLED …

viii | P a g e

3.9 SUMMARY…………………………………………………………………………..…… 39

4. IMPLEMENTATION……………………………………………………………………... 41

4.1 PROGRAMMING LANGUAGE, ENVIRONMENT, AND TOOLS………………….… 41

4.2 PROTOTYPE ALGORITHMS……………………………………………………….…... 41

4.3 AUTHENTICATING THE CLIENT AND THE SERVER……………………………… 42

4.4 ECDH KEY EXCHANGE…………………………………………………………...…… 43

4.4.1 Elliptic Curve Digital Signature Algorithm (ECDSA)……………………………………. 47

4.4.2 Key and Signature Generation…………………………………………………………….. 47

4.4.3 Signature verification……………………………………………………………………… 48

4.5 SUMMARY……………………………………………………………………………….. 49

5. EXPERIMENTAL EVALUATION………………………………………………………. 50

5.1 TESTING AND EVALUATING THE PROTOTYPE……………………………………. 50

5.2 ELLIPTIC CURVE DIGITAL SIGNATURE ECDSA ALGORITHM…………………... 52

5.2.1 Case in which signature is either verified or invalid…………………………………….... 53

5.3 PERFORMANCE…………………………………………………………….…………… 53

5.4 SUMMARY………………………………………………………………………..……… 55

6. SUMMARY, CONCLUSION AND FUTURE WORK………………………….……….. 56

6.1 PROBLEM STATEMENT REVISITED …………………………………………………. 56

6.2 SUMMARY OF RESEARCH…………………………………..………………………… 57

6.3 CONCLUSION …………………………………………………….………………….….. 59

6.4 FUTURE WORK……………………………………………………………………...….. 59

7. REFERENCES………………………………………………………………………..…... 61

Page 9: A WIRELESS APPLICATION PROTOCOL ENABLED …

ix | P a g e

LIST OF FIGURES

Figure 1-1: WAP security model ............................................................................................................ 3

Figure 3-1: WAP-enabled cryptographic model overview .................................................................... 24

Figure 3-2: SSL authentication and certificate-based mutual authentication ....................................... 26

Figure 3-3: Encryption and decryption ................................................................................................. 26

Figure 3-4: ECDH key generation (Lederer et al., 2009). .................................................................... 29

Figure 3-5: Keypair generation process (www.maximintegrated.com, 2016) ...................................... 34

Figure 3-6: Signature computation process .......................................................................................... 35

Figure 3-7: Signature verification process ............................................................................................ 36

Figure 3-8: Security transmission process in the double-layer encryption scheme .............................. 38

Figure 4-1: Client public key ................................................................................................................ 42

Figure 4-2: Server public key ............................................................................................................... 43

Figure 4-3: Client private key value ..................................................................................................... 44

Figure 4-4: Shared keys ........................................................................................................................ 44

Figure 4-5: Signing message ................................................................................................................. 46

Figure 4-6: Signature verification ......................................................................................................... 47

Figure 5-1: Randomly generated private and public key for client....................................................... 49

Figure 5-2: Randomly generated private and public key for server ...................................................... 50

Figure 5-3: Shared key (derived key) ................................................................................................... 50

Figure 5-4: Elliptic-curve digital signature ........................................................................................... 51

Figure 5-5: Signature verification ......................................................................................................... 52

Figure 5-6: Signature verification not successful ................................................................................. 52

Figure 5-7: Algorithm comparison ....................................................................................................... 53

Page 10: A WIRELESS APPLICATION PROTOCOL ENABLED …

x | P a g e

LIST OF TABLES

Table 1-1 : Summary of Methodology Applied ...................................................................................... 9

Table 2-1: A Comparison of Public-key Cryptosystems (Vanstone, 2003) .......................................... 14

Table 3-1: Certificate Information (WTLS, 2008) ................................................................................ 25

Table 3-2: The Security Parameters of the Secure Connection (Jormalainen & Laine, 1999b) ........... 33

Table 4-1: Visual Basic Packages used ................................................................................................. 40

Table 5-1:Process of Creating Shared Keys ......................................................................................... 48

Page 11: A WIRELESS APPLICATION PROTOCOL ENABLED …

xi | P a g e

ABBREVIATIONS

A Algorithm

AES Advanced Encryption Standard

API Application Programming Interface

CMS Cryptography Message Syntax

DSA Digital Signature Algorithm

DH Diffie-Hellman

DoS Denial of Service

ECC Elliptic Curve Cryptography

GPRS General Packet Radio Service

GSM Global System for Radio Systems

HTTP Hypertext Transfer Protocol

IP Internet Protocol

IT Information Technology

KDF Key Derivation Function

NIST National Institute of Standards and Technology

P Performance

PDA Personal Digital Assistant

PGP Pretty Good Privacy

PKI Public Key Infrastructure

R Reliability

S Security

SMS Short Message Service

SSL Secure Socket Layer

TCP Transmission Control Protocol

TLS Transport Layer Security

TP Third Party

Page 12: A WIRELESS APPLICATION PROTOCOL ENABLED …

xii | P a g e

V Verification

VB Visual Basic

WAP Wireless Application Protocol

WIM Wireless Identity Module

WPKI Wireless Public Key Infrastructure

WSP Wireless Session Protocol

WTL Wireless Transport Layer

WTLS Wireless Transport Layer Security

WWW World Wide Web

XML Extensible Mark-up Language

Page 13: A WIRELESS APPLICATION PROTOCOL ENABLED …

xiii | P a g e

GLOSSARY

This study uses the following terms and concepts throughout:

COMPUTER SECURITY

A branch of information technology known as information security which is intended to protect

computers from theft of or damage to their hardware, software or electronic data.

CRYPTOGRAPHY

Cryptography is the science of protecting information by transforming it into a secure format.

EASY IMPLEMENTATION

There is no need to change the configuration of the hardware or add any devices to the WAP gateway,

application server or system reconfiguration.

HIGH CHANNEL UTILIZATION

The fraction of the transmission capacity of a communication channel that contains data (frames)

transmissions

HIGH EFFICIENCY

The ability to function better and faster under the same sources, especially fit for the low-calculating

mobile terminal

MOBILE COMMERCE OR M-COMMERCE

Mobile commerce, or m-commerce, refers to e-commerce conducted in a wireless environment over

the Internet using a mobile device such as a cell phone or personal digital assistant (PDA)

Page 14: A WIRELESS APPLICATION PROTOCOL ENABLED …

xiv | P a g e

SMALL STORING SPACE

Small storing size for storing the session key and parameters used in the solution

WAP FORUM

A leading technology for companies trying to unlock the value of the mobile Internet, or a technical

standard for accessing information over a mobile wireless network

WAP GATEWAY

A software system that helps WAP-enabled wireless devices to communicate with the Internet websites

and applications

WAP

A device that allows wireless devices to connect to a wired network and to each other

WEB APPLICATION

A client–server computer programme which the client runs in a web browser

Page 15: A WIRELESS APPLICATION PROTOCOL ENABLED …

1 | P a g e

1. INTRODUCTION

More and more people now own smartphones and tablets and are connected to the Internet using these

devices. There are many ways to describe mobile commerce. Yadav (2009) considers mobile commerce

as involving monetary value, whereas Gunasekaran, Angappa, & Mcgaughey (2009) state that it

functions to provide services. Generally, M-commerce may be described as a way of performing an

electronic transaction that has financial implications, using a mobile device such as a tablet or mobile

phone (Jansma & Arrendondo, 2004). In order to perform electronic transactions, the mobile device has

to be equipped with WAP (Koblitz, Menezes & Vanstone, 2000) that connects to the Internet.

Recently, M-commerce has been receiving considerable attention, which has led to a high growth

rate in the use of mobile devices. According to GSMA’s ‘Mobile Economy’ report (2016), record five

billion subscribers will be achieved by mid-year 2017, increasing to 5.7 billion by the end of the decade.

By that point, almost three-quarters of the world’s population will have subscribed to a mobile service.

With the increasing number of mobile devices being purchased every day, there is a strong increase of

services offered through mobile networks. These services include the buying of items online (including

the purchasing of high-value items such as cars and properties), information services, and online

banking services. These services have to be protected through reliable security protocols, because they

deal with sensitive and personal information.

The common worldwide standard for providing Internet communication on digital mobile

phones, tablets, or any other wireless terminals, is known as a wireless application protocol (WAP).

WAP was the only publicly available solution for wireless communication that enables M-commerce,

where data is transferred from and to wireless devices (Alliance, 2002). WAP was developed and

specified by the WAP forum, which released WAP 1.2 in 1999, its first specification with security

defaults. This version was greatly problematic in the implementation of an M-commerce structure; and

subsequently led to the release of WAP 2.0 in January 2002. WAP 2.0 had increased security features

by comparison with WAP 1.2, and it provided easy development of real M-commerce infrastructure.

When dealing with M-commerce, the most important aspect is security. For users to feel more

comfortable using M-commerce services, high levels of security must be provided. M-commerce will

Page 16: A WIRELESS APPLICATION PROTOCOL ENABLED …

2 | P a g e

become more convenient to use and will attract more customers (Grami & Schell, 2004). However, it

is crucial to ensure that all M-commerce transactions are secure, especially regarding security issues

relating to network technologies. Security on mobile platforms is difficult to implement, owing to the

following factors: technological limitations of mobile devices, provision of pervasive computing, and

the capability of location awareness.

There are several well-known methods that make wireless communication more secure. These

methods include “i-mode”, encryption, and WAP. I-Mode is a mobile Internet service which originated

in Japan, and was developed and launched by NTT DoCoMo in 1999 (Blake-Wilson, Moeller, Gupta,

Hawk & Bolyard, 2006). In 2001, NTT DoCoMo started “i-appli”, which is a Java-based service

through which subscribers may download and run small Java applets on their I-mode cellular handsets.

In 2001, NTT DoCoMo started the 3G mobile phone service, which accesses the Internet at up to 384

kbps, using packet transmission that allows for I-mode service.

Another method of securing M-commerce transactions is cryptography, which is the art of

achieving security by encoding messages, thereby making them non-readable (Saranya, Mohanapriya

& Udhayan, 2014). Cryptography is the practice and study of hiding information. In modern times,

cryptography is considered a branch of both mathematics and computer science, and is affiliated closely

with information theory, computer security, and engineering (Sohani & Sawant, 2016). When

authenticating, before the transaction may be performed by the participating entities (usually the client

and the server), each must confirm his or her identity to the other. This service prevents unauthorised

third parties from masquerading as a legitimate parties. Moreover, there are many software packages

available on the markets, allowing hackers to access accounts by cracking passwords. One can lose

personal data and valuable information as a result of the lack of security.

Authentication is usually achieved by using network-based authentication protocols

(Xiangdong, Qinfang, Wang, Xian, 2002). However, there is a need for data integrity so that messages

are not altered accidentally or maliciously, without being detected at the receiver side of the M-

commerce system. With this security feature, an interceptor will not be able to deceive the receiver by

modifying the content of the message in transmission. With regard to WAP security architecture, there

Page 17: A WIRELESS APPLICATION PROTOCOL ENABLED …

3 | P a g e

are three entities involved: a mobile network (Mobile Gateway), a mobile provider (Commerce Server),

and a mobile phone.

For illustrative purposes, consider a mobile online shopping service in which the M-commerce

provider is an online shop, and the end-user is the customer (i.e. the person buying online). The end-

user connects to the M-commerce service provider through a mobile-phone network. Internet

connectivity through an Internet Protocol gateway is provided by mobile-network operators supporting

M-commerce. The M-commerce provider connects to the mobile operator, and, in turn, the end-user,

through the Internet. Thus, the M-commerce provider does not need to provide the wireless connectivity

as illustrated in Figure 1.1. Instead, the main focus of the M-commerce provider is in the application

architecture that caters for the characteristics of the hand-held devices.

Figure 1-1: WAP security model

Several technologies are available to facilitate the transmitting of sensitive information to and

from the mobile devices during an M-commerce transaction. WAP Public Key Infrastructure (WPKI),

Wireless Identity Module (WIM), and WAP Script and Wireless Transport Layer Security, are

Page 18: A WIRELESS APPLICATION PROTOCOL ENABLED …

4 | P a g e

components of such a WAP security mechanism (Sharma, Kansal & Tomar, 2015). Communication

between a WAP device and WAP gateway run by the operator is protected by a built-in encryption

technology known as Wireless Transport Layer (Amadeo, Molinaro, Campolo, Sifalakis, & Tschudin,

2014).

The WTL is similar to the TLSP (Transport Layer Security Protocol), and has the ability to detect

and reject replay attacks, and to prevent the denial-of-service attack (Xiuling & Daxing, 2001). The

WAP identity module (WIM) is an independent hardware module used to store confidential information

and to execute some encryption and decryption algorithms (Alliance, 2002). WAP implements

undeniable services and protects denial-of-service besides confidentiality, integrity, and authentication.

WAP Script, similar to Java Script, can connect external encryption algorithms (Forum, 2002). Wireless

Public Key Infrastructure (WPKI) which is designed for the wireless environment, is mainly used to

manage user and server certificates in a WAP network.

1.1 PROBLEM

Communication between a WAP server and WAP handheld devices is protected by a built-in encryption

technology known as WTLS. The bridging of two secure connections at the WAP gateway, at which

the WAP gateway is run by the operator, is vulnerable in that the data at the WAP gateway is decrypted

for some period of time. Once data is on the Internet, a connection is usually protected by the SSL

(Secure Socket Layer), which is the standard for encrypting data between points on the network. Thus,

data that is in decrypted form is transferred from WTLS to SSL. The decrypted data travels over the

network, where the data is vulnerable to attacks such as man-in-the middle attacks. Therefore, the

following main research questions will be addressed in this study:

a) How may a WAP-enabled cryptographic model be used to enhance mobile

commerce security?

b) How may a suitable WAP-enabled cryptographic algorithm be chosen for M-

commerce security?

Page 19: A WIRELESS APPLICATION PROTOCOL ENABLED …

5 | P a g e

c) How may the WAP-enabled cryptographic algorithm be developed and

implemented effectively in M-commerce?

d) How may the WAP-enabled cryptographic algorithms be evaluated?

1.2 RESEARCH OBJECTIVES

M-commerce has become a new way of conducting business any day and anytime for both individuals

and enterprises. M-commerce commercial environment is still imperfect, and the existence of security

challenges has become a barrier to the rapid growth of M-commerce subscriptions.

When individuals use mobile commerce, their data, including sensitive information, are

transmitted through mobile Internet. Data transmitted over the network should be kept secret so that

unauthorised third parties do not have access to it. Therefore, the secure transmission of the data is an

important guarantee of a safe mobile-commerce environment.

The main goal of this thesis is to develop a WAP-enabled cryptographic model that will be used

to secure transmitted data on the WAP gateway. This cryptographic model provides appropriate

solutions to the research questions raised by this study. The study will achieve the objectives as listed

below:

a) To determine in which ways a WAP-enabled cryptographic model may be used to

enhance mobile-commerce security.

b) To choose a suitable WAP-enabled cryptographic algorithm for mobile commerce.

c) To develop and implement an effective WAP-enabled cryptographic algorithm for

M-commerce.

d) To evaluate the WAP-enabled cryptographic algorithms.

1.3 SIGNIFICANCE

M-commerce faces difficult security challenges such as eavesdropping, identity theft, phishing attacks

and spoofing attacks. Consumer trust in Internet technologies seems to be failing, owing to these attacks.

For M-commerce to be successful, the security vulnerabilities and concerns must be addressed and

Page 20: A WIRELESS APPLICATION PROTOCOL ENABLED …

6 | P a g e

solved. The key to widespread usage of M-commerce is to gain the trust of users so that they will be

willing to perform a transaction using their mobile devices. M-commerce systems will be utilised for

transferring data, therefore someone will try to exploit the system or gain unauthorised access to data.

For this reason, it is necessary to ensure that current and future mobile devices to be used within M-

commerce implement security mechanisms.

The significance of this study is to ensure that M-commerce data is protected against

unauthorised third parties. The study is necessary based on the loss of valuable information owing to

various security issues. Resolving these security challenges should lead to more people performing

transactions through M-commerce. M-commerce transactions must be absolutely secure, otherwise

businesses will lose customers. This research project will resolve security issues and enhance security

M-commerce through the efficient use of a cryptographic algorithm for securing information. An

essential requirement for M-commerce is that transactions take place in a secure environment.

1.4 CONTRIBUTIONS

The cryptographic model developed in this study implements an enhancement to the current security

models in M-commerce. This cryptographic model will be security conscious and optimised for speed.

The unencrypted data must be precipitately removed from the volatile internal memory of the WAP

gateway. Therefore, this study will focus only on the cryptographic aspects relating to M-commerce

security. The main contributions of this study are summarised as follows:

a) The development of a WAP-enabled cryptographic model for M-commerce which

ensures that data is transmitted in a secure manner over the network.

b) The formalization of a different cryptographic model which contributes to system

optimality and usability.

c) The formal specification of the cryptographic model using a conventional modelling

language such as Visual Basic studio. The specification provides a basis for

demonstrating the feasibility of the practical realization and application of the

model.

Page 21: A WIRELESS APPLICATION PROTOCOL ENABLED …

7 | P a g e

d) The development of a prototype of the WAP-enabled cryptographic as proof of a

concept that demonstrates the theoretical and empirical validity of the model.

e) The system will contribute by enhancing security, which will be useful for large

corporations and individuals in performing their transactions safely.

1.5 METHODOLOGY

In this section we describe the research methodology used to develop our work. We first define what

Design Science Research is, and then focus on how the methodology applies to this dissertation. Design

Science Research is a set of synthetic and analytical techniques and perceptions (complementing

positivist, interpretive, and critical perceptions) for performing research in Information Systems (IS).

The new model, which will augment the current M-commerce security on the wireless

application protocol (Forum) gateway, will use a WAP-enabled cryptographic algorithm that is security

sensitive and optimised for speed. This algorithm will ensure that the unencrypted content of data is

erased precipitately from the volatile internal memory of the WAP gateway. Furthermore, the algorithm

will use a double-encryption method so that decrypted data is always protected from the source device

through to the destination device. The cryptographic algorithm will be incorporated inside the WAP

gateway and application server, in order to achieve the security required to protect the WAP gateway.

The study will implement the WAP-enabled cryptographic algorithm using the Visual Basic

Studio programming language. This will reflect the prototype system as proof of a concept

demonstrating that the model is usable and effective in making mobile commerce secure. In particular,

in this dissertation, the prototype system will demonstrate the feasibility of the proposed WAP-enabled

cryptographic algorithm.

The table listed on the next page summarises the methodology that will be applied in this study.

1.6 SYNOPSIS

The synopsis of this dissertation follows.

Page 22: A WIRELESS APPLICATION PROTOCOL ENABLED …

8 | P a g e

Chapter 1 presents an overview of the research problem, together with set objectives for

reaching the goal of the study. The chapter concludes with the methodology that will be used in the

study.

Chapter 2 consists of a literature overview. The chapter briefly discusses problems encountered

regarding M-commerce and the WAP gateway. A detailed discussion of various cryptographic

algorithms follows, including a discussion of the advantages and limitations of these algorithms. The

chapter concludes by proposing preliminary concepts of WAP-enabled cryptography as an alternative

solution to the research problem; giving reasons for the solution being more appropriate.

Chapter 3 elaborates on the methodology of the study. The study models the algorithm using

Visual Basic Studio.

Chapter 4 discusses the implementation of the cryptographic prototype. The dissertation

introduces the prototype as a proof of concept and uses screenshots to demonstrate the main components

of the prototype.

Chapter 5 evaluates the prototype as an experiment performed to test the efficacy of the

cryptographic algorithms.

Chapter 6 concludes the study with a brief summary of the aim of the study, the findings, and

possible future research ideas based on the study; and finally, some remarks based on the study.

Research Questions Technical Objectives Methodology

a) How may a WAP-enabled

cryptographic model be used to

enhance mobile-commerce security?

a) To determine the way/s

in which a WAP-enabled

cryptographic model may be

used to enhance mobile-

commerce security.

Literature Review

b) How may a suitable WAP-

enabled cryptographic algorithm be

chosen for M-commerce security?

b) To choose a suitable

WAP-enabled cryptographic

algorithm for mobile commerce.

Design Science Research

(Modelling and Simulation)

Page 23: A WIRELESS APPLICATION PROTOCOL ENABLED …

9 | P a g e

c) How may the WAP-enabled

cryptographic algorithm be developed

and implemented effectively in M-

commerce?

c) To develop and

implement an effective WAP-

enabled cryptographic algorithm

for M-commerce.

Implementation

d) To evaluate the WAP-

enabled cryptographic algorithms.

d) To evaluate the WAP-

enabled cryptographic

algorithms.

Testing

Table 1-1 : Summary of methodology applied

1.7 ASSUMPTIONS OF RESEARCH

Based on this study, we formulate the following assumptions:

• Safety and security

Consumer acceptance of a technology is influenced by how consumers view the importance of

security and how willing they are to sacrifice security against the benefits derived from the use of

the technology. Regarding security concerns of m-commerce addressed by the study, users have the

ability and confidence using the m-commerce system.

• Connectivity

Users of m-commerce have challenges regarding slow and untestable connections due to the fact

that they fear to be cut off in the middle of an m-commerce transaction.

• Audience

With the rapid growth of m-commerce, more and more people are conducting their transactions

using mobile devices.

2. LITERATURE REVIEW

This chapter commences with a definition and background of cryptography when discussing mobile

commerce. The chapter elaborates on cryptographic techniques used in mobile commerce. Furthermore,

the chapter discusses cryptographic algorithms and various M-commerce solutions, elaborating on their

Page 24: A WIRELESS APPLICATION PROTOCOL ENABLED …

10 | P a g e

weaknesses. By understanding these, one may deduce the fundamentals that are required for applying

effective and secure cryptography. The chapter concludes by discussing recommendations that will be

used during the implementation for securing mobile-commerce transactions.

2.1 BACKGROUND OF CRYPTOGRAPHY

Cryptography is the study of mathematical techniques associated to aspects of information security such

as confidentiality, data integrity, entity authentication, and data-origin authentication (Hankerson,

Vanstone & Menezes, 2004). Over the years, cryptography has played an important role in securing

data communication over the Internet. Cryptography is not only used in security protocols, but is also

used in applications such as in diplomatic communications, for instance, correspondence exchanged by

private individuals regarding wartime battle plans. However, it is important when communicating over

the network to ensure secure and effective mobile-phone communication. Currently, a number of

cryptographic tools is available to provide data security, such as digital signatures, hash functions, and

encryption schemes. Generally, cryptography is used to accomplish the following goals:

a) Confidentiality/privacy ─ To protect the user’s identity and data, ensuring that no

one is able to read it save the person for whom it is intended.

b) Data integrity ─ To protect data from being tampered with or modified in any way.

c) Authentication ─ To determine whether someone is in fact whom he or she claims

to be.

d) Non-repudiation ─ To prove that the sender really has sent the message; or proof of

the integrity and origin of the data. Users may be held responsible for online

transactions, which they cannot dispute at a later stage.

2.2 CRYPTOGRAPHIC ALGORITHMS

Commonly, various types of cryptographic algorithms are used to achieve the goals mentioned in the

previous paragraph. These algorithms include symmetric cryptography and asymmetric cryptography.

With symmetric-key cryptography, both the sender and receiver share the same key; however, their

Page 25: A WIRELESS APPLICATION PROTOCOL ENABLED …

11 | P a g e

keys are different but associated in an easily computable way (Delfs & Knebl, 2007). Symmetric

encryption methods use mathematical operations that may be implemented into extremely fast

computing algorithms. Such algorithms will enable mobile and other computing devices, especially

those with minimal CPU power, to perform encryption and decryption processes efficiently. The

primary difficulty of the symmetric key is delivering the key to the receiver in a secure manner.

Contrary to symmetric-key cryptography, asymmetric-key cryptography requires two separate

but related keys (secret/private and public) in which either of them may encrypt or decrypt a message.

Although different, the two parts of this key pair are based on mathematical functions such as

logarithmic arithmetic and modulo, rather than operations on bit patterns.

Asymmetric key algorithms are one-way functions, meaning that they are simple to compute in

one direction, but difficult to compute in the opposite direction. Security mechanisms that are developed

for open-system environments are regularly based on public key cryptography because of the complex

key management problem in such an environment. However, these security mechanisms are central-

processing-unit (CPU) demanding. Therefore, there is a need to study these security mechanisms

carefully when applying them in mobile applications. In general, it is not considered cost-effective to

use public-key cryptography in mobile devices. The amount of computation needed for public-key

algorithms is typically more than the amount of computation needed for symmetric-key algorithms.

2.3 CRYPTOSYSTEMS USED FOR SECURED M-COMMERCE

As mobile devices become smaller and more ubiquitous in daily life, there is a need for computationally

cheap, but still very secure cryptosystems. A cryptosystem is a pair of algorithms that receives a key,

and converts plaintext to cipher text and back (Bellovin, 2006).

The use of ciphers in encrypting the message enhances the security of data. The data is usually

encrypted in blocks instead of in single characters at a time. These ciphers include Rivest-Shamir-

Adleman (RSA), Asymmetric key cryptography (AES) (Kumar, 2013), Data Encryption Standard

(DES) (Coppersmith, 1994), Elliptic Curve Cryptography (ECC) algorithms, and many others. In this

Page 26: A WIRELESS APPLICATION PROTOCOL ENABLED …

12 | P a g e

study, we focus on ECC, owing to the advantages it offers over other cryptographic algorithms. DSA

and RSA are discussed below.

2.4 ELLIPTIC CURVE CRYPTOGRAPHY (ECC)

The use of elliptic curves in cryptography was independently proposed by Neal Kobliz & Vicktor

Miller (Roy, Järvinen & Verbauwhede, 2015). From 2004 to 2005 elliptic-curve cryptography

algorithms were widely used in the computing world. Koblitz (1987) saw the application of the elliptic

curve discrete log problem (ECDLP) as a replacement for the conventional discrete log problem (DLP)

used in Digital Signature Algorithm (DSA), and the integer factorization problem found in RSA. For

both challenges, sub-exponential solutions have been generated, while the same cannot be said for

ECDLP.

In addition to offering improved security for a smaller key size, operations of adding and

doubling may best be used on a mobile platform (Kessler, 2012). Since ECC produces encryption keys

by using points on a curve to define the public/private key pair, it is difficult for hackers to break the

key using brute-force techniques. ECC offers a possible replacement for the most common public-key

cryptography algorithms on mobile devices, owing to the faster solution ECC offers with less

computing power. When key lengths are shorter, they require less computing power, which means that

faster and more secure connections are available to mobile devices. According to Eberle (2004), there

are several additional advantages of using ECC that include the following:

a) Greater security ─ ECC presents stronger protection against attacks than current

encryption methods. The ECC algorithm relies on a mathematical model that makes

it difficult for hackers to attack the system.

b) Better performance ─ ECC requires a shorter key length to provide a higher level of

security, meaning that a 256-bit ECC key provides the same level of protection as a

3072-bit RSA key.

c) Investment protection ─ ECC helps protect one’s infrastructure investment by

providing enhanced security that can handle the explosion in the growth of mobile

Page 27: A WIRELESS APPLICATION PROTOCOL ENABLED …

13 | P a g e

device connections. ECC key lengths increase at a slower rate than other encryption

key methods, potentially extending the life of the existing hardware and giving one

a greater return on investment.

d) Mobile advantage ─ ECC’s smaller key length means that smaller certificates are

required, consuming less bandwidth. As more customers move to smaller devices

for their online transactions, ECC offers a better customer experience. Currently, no

drawback of ECC has been reported.

2.4.1 Supported curves

Pretty Good Privacy (PGP) is a data encryption and decryption computer programme that provides

cryptographic security and privacy for data communication (Garfinkel, 1995). PGP is regularly utilised

for signing, encrypting and decrypting text, files, and disk partitions; and in securing sensitive files

when stored in vulnerable places such as mobile devices or in the cloud (Geier, 2014). EC keys are new

to the OpenPGP standard, and are defined by (Jivsov, 2012). Each EC OpenPGP key pair is based on

one of the three curves currently defined by the standard Elliptic curves:

a) NIST P-256 (DidiSoft.Pgp.EcCurve.P256);

b) NIST-384 (DidiSoft.Pgp.EcCurve.P384); and

c) NIST-521 (DidiSoft.Pgp.EcCurve.P521).

The strongest keys are the keys based on the NIST curve P-521, whereas the keys based on NIST curve

P-256 are the weakest.

2.4.2 Key-generation speed

The key generation of EC keys is much faster than the traditional RSA and DH/DSS keys ─ the key

generation takes less than ten seconds. Table 1 details a summary of three types of well-known public-

key cryptosystems. As shown in the last column listed as bits or minimum-size public keys, RSA,

Diffie-Hellman and DSA may all be attacked using sub-exponential algorithms. However, the best-

Page 28: A WIRELESS APPLICATION PROTOCOL ENABLED …

14 | P a g e

known attack on ECC requires exponential time. Based on this reason, ECC can offer equivalent

security with substantially smaller key sizes (Lenstra & Verheul, 2001).

Security (BITS) Symmetric encryption algorithm

Minimum size (bits) of public keys

DSA/DH RSA ECC

80 Skipjack 1024 1024 160

112 3DES 2048 2048 224

128 AES-128 3072 3072 256

192 AES-192 7680 7680 384

256 AES-256 15380 15360 512

Table 2-1: A comparison of public-key cryptosystems (Vanstone, 2003)

2.4.3 Utilization of elliptic-curve cryptography

The strength of elliptic-curve cryptography makes it most suitable for resource-constrained systems.

ECC provides greater security for a given key size and may be efficiently and compactly implemented.

These attributes make it well suited to systems with constraints on processor speed, security, heat

production, power consumption, bandwidth, and memory. Cellphones, PDAs, wireless devices,

laptops, and smart cards are applications that benefit from elliptic-curve cryptosystems.

2.5 RIVEST-SHAMIR-ADLEMAN (RSA)

RSA is one of the first practical public-key cryptosystems ever introduced; and probably the most

commonly used public-key cryptosystem in the world for securing data communication (Easttom,

2014). In such a cryptosystem, the encryption key is public; and the decryption key, which is kept a

secret, differs from the encryption key. The strength of RSA is based on the practical difficulty of

factoring the product of semi-prime numbers. This is also known as the factoring problem.

The RSA algorithm is a secure, high-quality, public-key algorithm (Zhang, Xu & Wu, 1997)

which may be used to exchange confidential information such as keys, and to produce digital signatures.

However, the RSA algorithm is computationally exacting, operating on very large numbers. A user of

Page 29: A WIRELESS APPLICATION PROTOCOL ENABLED …

15 | P a g e

RSA creates and then publishes a public key based on the two large prime numbers, along with a

secondary value. These two prime numbers must be kept secret.

Anyone can use the public key to encrypt a message, but with currently published methods, if

the public key is large enough, only someone with knowledge of the prime numbers can feasibly decode

the message (Robinson & Sara, 2003). Breaking RSA encryption is known as the RSA problem. An

interesting feature of the RSA algorithm is that it allows most of the components used in the encryption

process to be reused in the decryption process.

2.6 DIGITAL SIGNATURES ALGORITHM (DSA)

A digital signature or digital signature scheme is a mathematical scheme for demonstrating the

authenticity of a digital message or document. A valid digital signature gives a recipient reason to

believe that the message was created by a known sender, and that it was not altered in transit (Abidi,

Bouallegue & Kahri, 2014). A digital signature is a number depending on some secret known only to

the signer (the signer’s private key) and, additionally, the contents of the message being signed.

DSA is a system that was proposed in August 1991 by the United States (US) National Institute

of Standards and Technology (NIST); and was specified in a US Government Federal Information

Processing Standard (FIPS 186). Digital signature schemes may be used to provide the following basic

cryptographic services: data integrity (the assurance that data has not been altered by unauthorised or

unknown means); data origin authentication (the assurance that the source of data is as claimed); and

non-repudiation (the assurance that an entity cannot deny previous actions or commitments) (Zhang et

al., 2015).

The Digital Signature Standard (DSS), as defined by NIST (FIPS 186) in 1994, specifies DSA as

an accepted algorithm for generating and verifying digital signatures. DSA is an asymmetric encryption

standard whose basic components are key generation, signature generation, and signature verification.

According to the DSS, the purpose of the Digital Signature Algorithm is to provide the capability of

generating and verifying signatures, to the extent that the identity of the signatory and the integrity of

the data may be verified.

Page 30: A WIRELESS APPLICATION PROTOCOL ENABLED …

16 | P a g e

2.7 M-COMMERCE SECURITY MODELS

This section discusses and analyses M-commerce security models that have been implemented to solve

the challenges of M-commerce. These security solutions have their benefits and limitations: these will

be discussed.

2.7.1 Biometric techniques

Biometrics is gaining attention as organisations look for more secure authentication strategies for user

access, E-commerce, and M-commerce, as well as other security systems. Biometric-based

authentication systems are becoming very popular because of their ability to differentiate between a

legitimate user and an imposter, by verifying their physiological or behavioural characteristics (Jivsov,

2012).

In Information Technology, biometrics usually refers to authentication techniques that depend

on measuring and analysing human body characteristics, for example, fingerprints, eye retinas and

irises, voice patterns, facial patterns, and hand measurements (Jain, Nandakumar & Ross, 2016).

However, fingerprint-based biometric authentication systems have attracted more attention, and mostly

deployed existing unique biometric techniques, utilised for user authentication (Pawar, Gawande &

Deotale, 2012).

User authentication in M-commerce is achieved by the use of mobile devices such as

smartphones, laptops and PDAs. The fundamental strategy of the biometric technique is that both the

user and service provider recognise each other without an additional device. The disadvantage of

biometric techniques is that they use only encryption methods for user and payment details for the

secure transfer of the data. By not using a security conversation mechanism such as WAP gateway, data

is not guaranteed to be secured. No merchant authentication is available in biometric techniques.

Other shortcomings of biometric techniques include tracking capacities. The biometrics

framework has many databases which contain individual information and data of general society,

contributing to numerous issues of maintaining every individual’s privacy. Many people fear that

approved individuals who take control of biometrics systems will have the capacity to track people

Page 31: A WIRELESS APPLICATION PROTOCOL ENABLED …

17 | P a g e

without their knowledge. An example of such a concern is the facial recognition system, whereby the

systems recognise and verify every individual wherever they go. This may be seen as an invasion of

privacy (States, 2001).

The proposed solution to be implemented in this dissertation will be the protection of

individual data, owing to authentication to the WAP gateway being required. Furthermore, individuals

who are authorised to have access to system devices will not be able to tamper with the data on the

systems.

2.7.2 Advanced mobile security solution based on distributed key

Current M-commerce security solutions are divided into software-only, hardware-based, or biometrics

solutions. Most financial institutions are using hardware encryption, such as electronic-key encryption

and alternative software encryption for the users. However, current M-commerce security techniques

still adopt software encryption, even the plaintext of the short message service (SMS), to protect the

commercial transaction, which is easily attacked by hacking or a virus.

The concern of M-commerce security is the place at which the encryption key is stored.

Sometimes it is stored in the internal mobile device or the Subscriber Identity Module (SIM). Should

the SIM be used to store the encryption key, this key may easily be stolen by third parties, in cases in

which the mobile device does not have a hard-drive protection mechanism. In addition, the SIM may

be attached to or copied by a SIM-cloning device.

COMP128 algorithms are implementations of the A3 and A8 algorithms, as defined in the GSM

standard. The A3 algorithm is used to authenticate the mobile device to the network, whereas the A8

algorithm is used to generate the session key used by A5 to encrypt the data transmitted between the

mobile station and the base transceiver station (BTS). The COMP128-1 hash function is considered

weak because there is insufficient diffusion of small changes in the input. Practical attacks have been

demonstrated that can recover the subscriber key from the SIM (Brumley, 2004). Therefore, neither the

GSM nor the COMP128 is sufficiently secure.

Page 32: A WIRELESS APPLICATION PROTOCOL ENABLED …

18 | P a g e

Tiejun & Leina (2012) acknowledge that there is a need to provide an eKey with Bluetooth,

IrDA, and a near-field communication (NFC) adapted interface to mobile devices, in particular one that

will allow the authors better to demonstrate the applicability of the solution to a wide variety of

application domains. However, this has not yet been tested nor implemented in an M-commerce

environment. Additionally, the use of an actuator ─ a type of motor responsible for moving or

controlling a system ─ will eventually improve the development of their mobile information security

solution, providing end-to-end security. What makes the solution unique is that, should the device used

to store the encryption key be lost, the encryption key would not be used to decrypt data. The algorithm

that is used to authenticate mobile devices to the network is weak, compared with the algorithm that we

are proposing. Furthermore, third-party individuals are not able to recover keys once the session has

expired.

2.7.3 Improved double-encryption model

Wang & Fan (2010) proposed an improved security solution for the WAP gateway based on the “double

encryption model”. With their solution, each symmetric-encryption algorithm, public-key encryption

algorithm, and message-digest algorithm owned by mobile terminals and content servers has a priority.

For instance, the most generally utilised algorithm has the highest priority; the second-most widely used

algorithm has second priority; the third-most widely used algorithm has third priority, and so on.

Initially, the mobile terminal will simply send a group of algorithms of the highest priority to the

application server, as opposed to sending all of its algorithms to the server.

Next, the application server will compare the algorithms sent by the mobile terminal with its own

algorithms, by organising them from the highest to the lowest priority. The algorithm with the highest

priority is chosen as it is the most generally utilised algorithm. The improved double-encryption model

of selecting the best matching algorithm between the mobile terminal and server is less demanding and

simpler than the double-encryption model, because the algorithm will be stored on the server and the

terminal. This solution has the capacity to decrease the complexity of the encryption process between

mobile terminals and servers, shortening the time interval of consultations, and increasing the

Page 33: A WIRELESS APPLICATION PROTOCOL ENABLED …

19 | P a g e

connection speed and degree of security during the mobile transaction. This solution has constructed a

secure channel between the mobile terminal and application server, because the data is protected during

the whole transmission process. Therefore, the solution has solved the weak point, in which the WAP

gateway is able to see the message in plaintext.

This solution simply needs to include encryption/decryption capabilities at the application layer

which do not require changes at the hardware level, making this easy to implement. However, the

solution of improved double encryption does not satisfy the concepts of mutual authentication, in which

parties are authenticating one another suitably. Furthermore, there is no maintaining and assuring of the

accuracy and consistency of sent and received data. The solution has been widely implemented on E-

commerce, and has been relatively successful, owing to the personal computer’s capacity for processing

algorithms that require a large amount of CPU power. Our approach must implement the solution in an

M-commerce environment, the transfer methodology of the Improved Double Encryption Model being

the same as that of the Double Encryption Model.

2.7.4 LSB steganography and cryptography

Least significant bit (LSB) insertion is a common and simple approach to embed information in an

image file. Pawar et al. (2012) introduced security systems using a random least significant bit (LSB)

steganography and cryptography method. Steganography is a technique of hiding secret messages

within innocent-looking information called cover data (e.g., text, audio, image, video, and more) from

eavesdroppers. Johnson & Jajodia (1998) state that steganography’s role in security is to implement

steganography into cryptography in order to enhance it, not to change it. In the event that a concealed

message is encrypted, the message should likewise be decrypted if it is found, which offers another

layer of security. The proposed framework is said to be safe and secure as opposed to separately using

either the steganography or cryptographic method.

The framework of steganography demonstrates secure and undetectable communication in M-

commerce as well as in E-commerce. In this framework, instead of directly sending data, the data is

first encrypted using an encryption algorithm; this encrypted data is processed to hide in an image, using

Page 34: A WIRELESS APPLICATION PROTOCOL ENABLED …

20 | P a g e

a password. The stego-image, which is the encrypted picture, contains a hidden encrypted message. In

addition, an encrypted message is hidden in an image using “Random LSB Steganography”. The

message is embedded in a non-sequential LSB insertion pattern. It is difficult to detect LSBs in which

the message is embedded. The stego-image is inserted into a website, and the URL of the website is

sent to the user. After receiving the URL, the user downloads the picture by means of a special

programme. The user can extract data from the picture only if the authentication details entered by the

user are correct. This data will be in encrypted form and the user will decrypt it using the decryption

key.

The shortcoming of this solution is the size and protection of the data. If someone only sends

small data packets, this system will be adequate. However, if a large amount of data must be hidden

using steganography, this will be difficult to achieve. In addition to this, there is the protection factor.

Typically, secrets that are protected by steganography are not protected by anything else. If no one sees

the secret, the secret is safe. If they see it, however, they will have the data. Applying this model to M-

commerce transactions would be suicidal for users of M-commerce.

With our solution, data is not only protected by cryptography. Secure algorithms and digital

certificates are also used to secure data and communication. Large amounts of data may be used and be

protected without challenges, during M-commerce transactions.

2.8 THE NEED FOR SECURING M-COMMERCE

Mobile commerce plays an important role in society. With the rapid growth in the number of mobile

devices, the number of Internet users has increased exponentially over the years. With M-commerce,

the progress has been slow, owing to security issues. An enhanced security will drive the usage of M-

commerce. As previously discussed in the literature, authors, including Wang & Fan (2010), use public

keys which are best suited for E-commerce rather than M-commerce, this being CPU-demanding.

Another aspect is that these models do not provide end-to-end security, focusing only on certain aspects

of security.

Page 35: A WIRELESS APPLICATION PROTOCOL ENABLED …

21 | P a g e

According to Fire, Goldschmidt & Elovici (2014), existing solutions offer insufficient security.

However, our solution, which focuses on enhancing security in an M-commerce environment, will

enhance end-to-end security.

2.9 SUMMARY

Our literature survey critically investigated various security solutions proposed for M-Commerce. Most

of the discussed security solutions have tried to repair security flaws in the WAP gateway. However,

the solutions discussed in the previous paragraphs do not satisfy the important security issues of mobile

commerce, such as data theft, data integrity, data confidentiality, and mutual authentication. These

important security issues of mobile commerce will be addressed by our proposed solution. The main

challenge is to enhance the security in M-commerce, using a WAP-enabled cryptography algorithm.

Since mobile devices have limitations such as low processing power and small storage space, it is very

difficult to implement cryptographic algorithms that will be processed by mobile devices. Our proposed

solution offers the following improvements:

a) The solution is compatible with many types of mobile terminals;

b) The encrypted information is encoded by double-layered encryption. Therefore, if

unauthorised devices and users manages to extract information from the gateway,

there won’t be able to decode the message without having the key; and

c) The possibility of disclosure of information is very low, because the information is

encrypted.

The adoption of double-layered encryption schemes solves the security problem thoroughly exposed in

the WAP gateway data-information decrypting and encrypting process. Secondly, the ECC public key

system is superior to RSA and DSA. The comparison between the decryption times of ECC, RSA, and

DSA/DH was shown in Table 2.1.

In the next chapter, we describe the model used in developing our WAP-enabled cryptographic

algorithms.

Page 36: A WIRELESS APPLICATION PROTOCOL ENABLED …

22 | P a g e

3. THE MODEL

This study has defined M-commerce as a way of using a mobile device, such as a personal digital

assistant (PDA) or mobile phone, to perform an electronic transaction that has financial implications.

Hence, this chapter will further discuss the enhancing of mobile-commerce security through a WAP-

enabled cryptographic algorithm. M-commerce is as yet an emerging market, security still of major

concern to all parties involved. Adequate security in M-commerce is needed, so that organisations may

be able to perform successful transactions over the network. Users do not yet fully trust M-commerce

to safeguard their data from unauthorised people.

The main question this dissertation attempts to answer was stated as a way or ways in which a

WAP-enabled cryptographic model can enhance mobile commerce security. Another closely related

question concerns how to select a suitable WAP-enabled cryptographic model in mobile commerce.

Mobile devices have several limitations, such as limited computing power, lack of storage, and

processor speed. Therefore, it is necessary to choose a cryptographic algorithm that will be compatible

with mobile devices. It is also important to produce an algorithm that can encrypt more speedily,

requiring fewer computing resources, while being more difficult to decrypt.

Our model deals with an improved double-encryption method incorporating the ECDH and

ECDSA algorithms, enabling more security, leading to one reliable solution.

The remainder of the chapter presents our proposed algorithm design and architecture.

Algorithm design is a specific method of creating a mathematical process for solving problems.

Architecture is a conceptual model that defines the structure, behaviour, and other views of a system.

An architectural description is a formal description and representation of a system, organised in such a

way that it supports reasoning about the structures and behaviour of the system.

3.1 MODEL OVERVIEW

Our model deals with an improved-double-encryption method incorporating the ECDH and ECDSA

algorithms, making it more secure, therefore leading to one reliable solution. ECDH and ECDSA

technologies have been implemented separately, however, integrating them will greatly strengthen the

Page 37: A WIRELESS APPLICATION PROTOCOL ENABLED …

23 | P a g e

security in M-Commerce. In order to establish an end-to-end secure channel between mobile users and

mobile commerce service providers, we propose the TLS protocol based on PKI and the CA

architecture. ECC as the public-key algorithm will be used to realise the CA certificate, rather than the

traditional RSA public-key algorithms. By using ECC, we gain security equivalent to RSA; however,

with less memory usage, less CPU consumption, and at increased speed (Jansma & Arrendondo, 2004).

3.2 AUTHENTICATION

According to Schneider (2013), authentication is defined as follows:

“It should be possible for the receiver of a message to ascertain its origin; an intruder should not be

able to masquerade as someone else”.

The authentication technique ensures that the specified identity of the user is correct. In the beginning,

the first party introduces itself and claims to have some identity. This is not enough. The contacted party

also needs to know for sure that the contacting party is who it claims to be. The contacting party has to

present some verification to prove its identity. This may be as simple as using a password, or as

complicated as using a digital signature or certificate. In addition, the contacting party wishes to be

assured of the contacted party’s validity.

The contacted party has to present some identification of itself. After the authentication, the

service provider may be sure that the service is available to the user who has legitimate rights to use the

service. Equally, the user may place confidence in the service provider.

Authentication in the WTLS is carried out using certificates. Authentication may occur between

the client and the server, or the client may authenticate the server only. The latter procedure can obtain

only if the server allows authentication to occur. The server may require the client to authenticate him-

or herself to the server. However, the WTLS specification defines that authentication is an optional

procedure. Currently, X.509v3 [X509], X9.68 and WTLS certificates are supported. The WTLS

certificate is optimised for size. Authentication immediately follows after the client and server Hello

messages are exchanged. Hello messages are methods that a device uses to communicate with other

Page 38: A WIRELESS APPLICATION PROTOCOL ENABLED …

24 | P a g e

devices. The server sends a Server Certificate message to the client. The certified information given by

the server is listed in Table 3.1.

Figure 3-1: WAP-enabled cryptographic Model Overview

Page 39: A WIRELESS APPLICATION PROTOCOL ENABLED …

25 | P a g e

When the process of mutual authentication by means of a certificate is initiated, the sequence

of steps used is listed below:

1. A client requests access to a protected resource.

2. The server presents its certificate to the client.

3. The client verifies the server’s certificate.

4. If successful, the client sends its certificate to the server.

5. The server verifies the client’s credentials.

6. If successful, the server grants access to the protected resource requested by the

client.

Item Description

Certificate version Version of the certificate

Signature algorithm The algorithm used to sign the certificate

Issuer Defines the party who has signed the certificate, usually some certificate authority

(CA)

Valid not before The beginning of the validity period

Valid not after The end of the validity period

Subject Owner of the key, associated with the public key being certified

Public-key type Type (algorithm) of the public key

Parameter specifier Specifies parameters relevant to the public key

Public key The public key being certified

Table 3-1: Certificate Information (WTLS, 2008)

Figure 3.2 listed on the next page shows the process of SSL authentication and certificate-based mutual

authentication. Furthermore, it describes the sequence of steps that are performed during the

authentication of certificates by the client and the server. This process is successfully completed when

the client is able to verify the authenticity of the server, and the server is reciprocally able to verify the

authenticity of the client.

Page 40: A WIRELESS APPLICATION PROTOCOL ENABLED …

26 | P a g e

Figure 3-2: SSL authentication and certificate-based mutual authentication

(www.codeproject.com)

3.3 ENCRYPTION

This section demonstrates the process by which two separate strings are either encrypted or decrypted.

Figure 3.3 demonstrates the point at which two separate strings are combined into one full string before

being encrypted and decrypted. The encryption algorithm uses the ASCI method.

8 a b 4 e z 6 t y 7 m o 2 d s 1

Figure 3-3: Encryption and decryption

String -1:846721 Interval: 1

String-2: abezytomsd Size: 2

The above full string is a combination of two different strings named string-1 and string-2, in

which the two strings are arbitrarily chosen. Both strings have an equal length blank-padded to 32

Page 41: A WIRELESS APPLICATION PROTOCOL ENABLED …

27 | P a g e

characters. There are two other parameters, namely, interval and size. String-1 is separated into discrete

parts, in which the length of every part is equal to the interval (which is one); while string-2 is separated

into parts in which the length of every part is equal to the size (which is two) to form the full string. The

two strings are inserted interchangeably, starting with string-1 at index zero. Possible values for the

variable named sizes are 2, 4, 8, and 16, and possible values for the variable named interval are any

value from 1 up to the value of the variable named size.

A requirement is to formulate a mathematical equation known as fetch_index of the full string,

finding the nth character of string-1 without separating the full string into its two original strings. It must

be noted that the indexes are numbered from zero onwards; while the nth character is counted from one

to n. For example, the 5th character of string-1 is the character ‘2’ of which the index in the full string

is 12. The 6th character in string-1 is the character ‘1’ of which the index in the full string is 15.

3.4 ECDH KEY EXCHANGE ALGORITHM

The Diffie-Hellman key-exchange algorithm is a secure elliptic-curve algorithm that uses numbers

raised to specific powers to produce encryption/decryption keys, thus making the task of breaking the

code mathematically, difficult.

Based on this, using the Diffie-Hellman algorithm will enhance the security of the data that must

be securely transmitted over the network. The cryptosystem we aim to deliver is one in which the

sender and receiver exchange data by means of an unreliable network system. Should the shared secret

key between the sender and receiver be intercepted by the third party, the third party would not be able

to discover the shared secret key. This shared secret-key method is used in conventional cryptosystems.

The basic flow of an ECDH key exchange is as follows:

1. Client and server create a key pair to use for the Diffie-Hellman key-exchange

operation.

2. Client and server configure the key derivation function (KDF), which derives one

or more secret keys from a secret value, such as a master key, using parameters

agreed on by the client and the server.

Page 42: A WIRELESS APPLICATION PROTOCOL ENABLED …

28 | P a g e

3. The client sends its public key to the server.

4. The server sends its public key to the client.

5. Client and server use each other's public keys to generate the secret agreement.

We use an ECC Diffie-Hellman key (ECC-DH) for key agreement. The client generates an

ECC Diffie-Hellman public key and sends it to the server in a ClientKeyExchange message. To develop

the pre-master secret, the client multiplies the server’s public key by the Diffie-Hellman private key.

The pre-master secret is an initial value which is used to calculate the master secret. The server develops

the pre-master secret by multiplying the EC Diffie-Hellman public key by its private key. To guarantee

a secure communication channel, encryption keys or initial values for calculating keys must be

exchanged in a secure method. The certified exchange of public keys was described in the previous

section.

However, it is possible that the Server Certificate Message has not contained sufficient data to

allow the client to exchange the pre-master secret. In this case, a Server Key Exchange message is used

to provide such data. The key exchange mechanism of the WTLS specification also provides an

anonymous way of exchanging keys. In this process, the server sends a Server Key Exchange message

which contains the public key of the server. The key-exchange algorithm is the Elliptic Curve Diffie-

Hellman (ECDH). The message does not contain any certified information.

With the Diffie-Hellman-based algorithms, the client and the server calculate the pre-master

secret based on each other’s private keys and the public key of the counterpart. This message is omitted

if some Diffie-Hellman-based algorithm was used and the client certificate was requested, so that the

client was able to respond to it. If the client has listed the cryptographic key exchange methods that he

or she supports, the server may choose whether it is going to use an exchange method based on the

client's suggestions, or define another method. If the client has not proposed any method, the server has

to indicate the key exchange method (Lauter, 2004). Figure 3.4 lists below the process of ECDH key

generation.

Page 43: A WIRELESS APPLICATION PROTOCOL ENABLED …

29 | P a g e

Figure 3-4: ECDH key generation (Lederer et al., 2009).

3.5 PRIVACY

Privacy of data means that individuals have the ability to determine the data in computer systems that

may be shared with authorised individuals, where unauthorised individuals cannot have access to this

data (Bygrave, 2014). When users are on the network, they tend to send data to other networks. When

data is transmitted over the network, it may be intercepted by third parties. We need privacy to

determine the data in a computer system that may be shared with third parties. Privacy in the WTLS

specification is implemented by means of encrypting the communication channel.

The encryption methods used, and all the necessary values for calculating the shared secret key

are exchanged during the handshake, which is where communication is initiated. The first messages to

be exchanged, namely the Client Hello and the Server Hello messages, exchange random values. The

client generates a pre-master key from random data from itself and also from the server. It then encrypts

this with the server's public key, sending it to the server. From this data both client and server generate

Page 44: A WIRELESS APPLICATION PROTOCOL ENABLED …

30 | P a g e

a master key. During later phases, the client and the server exchange the pre-master secret. The master

secret is a 20-byte sequence that is calculated using the following formula:

𝑚𝑎𝑠𝑡𝑒𝑟𝑠𝑒𝑐𝑟𝑒𝑡 = 𝑃𝑅𝐹(𝑝𝑟𝑒𝑚𝑎𝑠𝑡𝑒𝑟𝑠𝑒𝑐𝑟𝑒𝑡, master secret, 𝐶𝑙𝑖𝑒𝑛𝑡𝐻𝑒𝑙𝑙𝑜. 𝑟𝑎𝑛𝑑𝑜𝑚

+ 𝑠𝑒𝑟𝑣𝑒𝑟𝐻𝑒𝑙𝑙𝑜. 𝑟𝑎𝑛𝑑𝑜𝑚)[0. .19] … … … … … … … … … … … … … … … . Equation 3.1

PRF stands for Pseudo-Random Function, which takes as input a secret, a seed and an

identifying label to produce an output of arbitrary length. Furthermore, [0..19] indicates a 20-byte

sequence used to determine the user authority and its location. The encryption algorithm used is chosen

during a handshake process. During this process, the server provides the client with a single cipher suite

chosen by the server. The client provides the server with a list of cipher suites. The cipher suites

comprise a bulk encryption algorithm and a MAC algorithm. A MAC algorithm is a symmetric key

cryptographic technique to provide message authentication, to confirm that the message has indeed

originated from the stated sender (its authenticity) and has not been changed during transmission.

The first item on the list of cipher suites is the preference of the client. If the server does not

find an acceptable cipher suite the handshake fails, and the connection is closed. Currently, the most

common bulk encryption algorithms supported are RC5 [RC5] with 40, 56 and 128-bit keys; DES

[DES] with 40 and 56-bit keys; and 3DES [3DES] and IDEA [IDEA] with 40, 56 and 128-bit keys. All

these algorithms are block-cipher algorithms. Block ciphering is a method of encrypting text in which

a cryptographic key and algorithm are applied to a block of data at once as a group rather than one bit

at a time (Luyster, 2001). No stream ciphers except NULLs are supported. Stream ciphering is a method

of encrypting text, in which a cryptographic key and algorithm are applied to each binary digit in a data

stream, one bit at a time (Pelzl & Paar, 2010).

However, this method is not much used in modern cryptography. Encryption keys are indicated

based on a key block. The key block is calculated from the initial values transferred during the

handshake, using the following formula:

Page 45: A WIRELESS APPLICATION PROTOCOL ENABLED …

31 | P a g e

𝑘𝑒𝑦 𝑏𝑙𝑜𝑐𝑘 = 𝑃𝑅𝐹 (𝑚𝑎𝑠𝑡𝑒𝑟𝑠𝑒𝑐𝑟𝑒𝑡 + 𝑒𝑥𝑝𝑎𝑛𝑠𝑖𝑜𝑛𝑙𝑎𝑏𝑒𝑙 + 𝑠𝑒𝑞𝑛𝑢𝑚 + 𝑠𝑒𝑟𝑣𝑒𝑟𝑟𝑎𝑛𝑑𝑜𝑚

+ 𝑐𝑙𝑖𝑒𝑛𝑡𝑟𝑎𝑛𝑑𝑜𝑚) … … … … … … … … … … … … … … … … … … … … … … … Equation 3.2

The key block variable is dependent on a sequence number that is recalculated in certain intervals

based on the key-refresh frequency. The key-refresh frequency is negotiated in the Client Hello and the

Server Hello messages. The expansion label is merely a string expression for calculation. The client

uses the string “client expansion” and the server uses the string “server expansion”. The encryption key,

the initial vector, and the MAC secret, are made up from the key block, based on the key lengths required

by the chosen algorithms (Boudriga, 2009). Client_random and server_random are values that allow

other key agreement algorithms to be registered by both the client and the server, whereby these values

will be changed randomly.

3.6 INTEGRITY

Data integrity is the assurance that information may only be accessed or modified by those authorised

to do so. Compromised data, after all, is of little use to organisations or individuals, not to mention the

dangers presented by sensitive data loss. For this reason, maintaining data integrity is a core focus of

many organisations’ security solutions. Data integrity is guaranteed using Message Authentication

Codes (MAC). The MAC algorithm used is selected by the server when the encryption algorithm is

decided on. As stated before, the client sends a list of supported MAC algorithms in which the preferred

algorithm is the first in the list. The server returns the selected algorithm in the Server Hello message.

Secure hash algorithms (SHA) and Message-Digest-5 (MD5) are common MAC algorithms

supported by WTLS. There are several different versions of both algorithms; for example, SHA exists

with 0, 40 and 80bit MAC sizes. The keyed MACs are calculated using the secure hash algorithm-1

(SHA-1). The modified algorithms are based on the SHA-1, however, only part of the output is used.

Similar versions of the MD5 algorithm exist.

A special MAC algorithm is the SHA_Exclusive OR (XOR) _40 which uses a 5-byte checksum.

First, the input data is divided into 5-byte blocks. Then all blocks are XORed one after the other. It is

Page 46: A WIRELESS APPLICATION PROTOCOL ENABLED …

32 | P a g e

required by the client that the XOR MAC be encrypted, and only be used for cipher-block-chaining

(CBC) mode. The algorithm is intended for devices with limited CPU resources. The MAC algorithm

is generated over the compressed WTLS data. The following values are used to calculate the MAC:

The HMAC_Hash equation illustrates the keyed MAC algorithm used, for example, SHA-1 or

MD5. The MAC_Secret value is one of the key block values. After the HMAC_Hash value is generated,

the determined length of the MAC value is set to the WTLS cipher text-structure (Lam et al., 2003).

The previous sections explained how the secure session is negotiated between the client and the

server. After these negotiations, both communicating parties have a uniform secure state which contains

the security parameters described in Table 3.2.

The current status of the client and the server is completed by means of the security parameters

and is continuously updated. Each connection state includes elements such as the current encryption

keys, MAC keys, initiation vectors, and sequence numbers. Both the server and the client have separate

secret keys for encryption, MACs, and more (Dierks & Rescorla, 2008).

3.7 ELLIPTIC CURVE DIGITAL SIGNATURE (ECDSA)

A digital signature is a mathematical scheme for exhibiting the authenticity of a digital message or

record. A valid digital signature gives a recipient grounds to believe that the message was written by a

known sender, that the sender cannot deny having sent the message (authentication and non-

repudiation), and that the message was not altered in transit (integrity).

Digital signatures are normally utilised for software distribution, financial transactions, and in

various situations in which it is critical to detect forgery or tampering (Hankerson, Menezes &

Vanstone, 2006).

Page 47: A WIRELESS APPLICATION PROTOCOL ENABLED …

33 | P a g e

Item Description

Connection End Indicates whether the entity considered is a client, or a server.

Bulk Encryption Algorithm An algorithm used for bulk encryption.

MAC Algorithm The algorithm to be used for guaranteeing the message

integrity/authentication.

Compression Algorithm The algorithm used to compress data before encryption.

Master Secret A 20-byte secret between the two peers in the secure connection.

Client Random A 16-byte value provided by the client.

Server Random A 16-byte value provided by the server.

Key Refresh The time interval specifying how often some connection state

parameters are updated (encryption key, MAC secret, and Initiation

Vector (IV).

Sequence Number Mode The scheme used to produce sequence numbers in the secure

connection. Options are implicit/explicit sequence numbering (ON

or OFF)

Table 3-2: The security parameters of the secure connection (Jormalainen & Laine, 1999b)

3.7.1 Size and Performance Advantages of ECC Signature Algorithms

The benefits of ECC-based certificates are normally two-pronged. Firstly, ECC-based signatures on a

certificate are smaller and faster to create; and the public key held by the certificate is smaller and also

more agile. Secondly, when at higher key strengths, verification becomes faster using ECC-based

certificates. The reason may be found in the basic mathematics behind elliptic curves (Hankerson et al.,

2006).

As highlighted in other issues by Lauter (2004), the security of ECC systems is based on the

elliptic-curve-discrete logarithm problem rather than the integer-factorization problem. This

difference allows ECC systems to start out smaller, and scales more efficiently as the bit size of the

matching symmetrical key increases. Ultimately, this allows for faster computations and smaller key

sizes for comparable security.

Page 48: A WIRELESS APPLICATION PROTOCOL ENABLED …

34 | P a g e

3.7.2 ECDSA Security

Computations required for ECDSA authentication are the generation of a key pair (private key, public

key), the computation of a signature, and the verification of a signature. The equivalent equations are

found in public literature (Khalique, Singh & Sood, 2010). Before an ECDSA authenticator can

function, it must know its private key. The public key is derived from the private key and the domain

parameters. This would assist by ensuring that the correct public key is generated by the authenticator

values. The key pair must reside in the authenticator’s memory. In this context, it means that the key

pair would not be exposed to the network. Thus, it becomes difficult to generate a key for unauthorised

users. The private key is not accessible from the outside world; but the public key must be openly read

and accessible. Without the private key, which resides in the authenticator, it becomes impossible to

generate the key pair. A random number generator is started; and when its operation is completed, it

delivers the numerical value that becomes the private key d (a scalar). Next, the public key Q (x,y) is

computed according to Equation 3.3 through point multiplication:

𝑄(𝑥, 𝑦) = 𝑑 ∗ 𝐺(𝑥, 𝑦) … … … … … … … … … … … … … … … … 𝐸𝑞𝑢𝑎𝑡𝑖𝑜𝑛 3.3

Figure 3-5: Keypair generation process (www.maximintegrated.com, 2016)

3.7.3 Signature computation

Both the elliptic-curve private keys and elliptic-curve public keys are generated randomly. The unique

identifier, which is only known to the client, will be randomly generated as a private key. The public

key will be publicly available on the site and will be listed under this identifier. In addition, the private

key of the client will be saved in a file on both the client and server side.

Page 49: A WIRELESS APPLICATION PROTOCOL ENABLED …

35 | P a g e

For example, if the client ID is 206183365, the private key of the user will be saved on the local

filing system under the name 206183365.private Key. The client then generates his or her public key.

The client public key will be saved on the server. This will enable the prototype to store the client

public key and make it available to everyone. To retrieve the client public key, the client ID is required.

3.7.4 Signature generation

A digital signature allows the receiver of a message to verify the message authenticity, using the

authenticator’s public key. First, the variable-length message is converted to a fixed-length message

digest h(m) using a secure hash algorithm (PUB, 2012) in which h(m) represents hash function. A secure

hash has the following characteristics:

a) Irreversibility—it is computationally unfeasible to determine the message from its

digest.

b) Collision resistance—it is impractical to find more than one message that produces

a given digest.

c) High avalanche effect—any change in the message produces a significant change in

the digest. After the message digest is computed, a random number generator is

activated to provide a value k for the elliptic-curve computations (see Figure 3.6).

Figure 3-6: Signature computation process

Page 50: A WIRELESS APPLICATION PROTOCOL ENABLED …

36 | P a g e

The digital signature consists of two integer numbers, namely, r and s. Equation 3.4 shows the

computation of r from the random number k and the base point G (x , y):

(𝑥1 , 𝑦1) = 𝑘 ∗ 𝐺 (𝑥 , 𝑦) 𝑚𝑜𝑑 𝑝

𝑟 = 𝑥1 𝑚𝑜𝑑 𝑛 … … … … … … … … … … … … … … … . 𝐸𝑞𝑢𝑎𝑡𝑖𝑜𝑛 3.4

To be valid, r must not be equal to zero. In the rare case in which r has been computed with a value

of 0, a new random number, k, must be generated; r must then be computed again. After r is successfully

computed, s is computed according to Equation 3.5 using scalar operations. Inputs are the

message_digest h (m); the private key d; r, and the random number k.

𝑠 = (𝑘 − 1(ℎ(𝑚) + 𝑑 ∗ 𝑟)𝑚𝑜𝑑 𝑛 … … … … … … … … … … … … . 𝐸𝑞𝑢𝑎𝑡𝑖𝑜𝑛 3.5

To be valid, s must not be equal to zero. If s is zero, a new random number k must be generated

and both r and s must be computed again.

3.7.5 Signature verification

Signature verification is the counterpart of the signature computation. The role of signature verification

is to verify the message authenticity using the authenticator’s public key. Using the same secure hash

algorithm as in the signature step, the message digest signed by the authenticator is computed which,

together with the public key Q (x, y) and the digital signature components r and s, leads to the result

(see Figure 3.7).

Figure 3-7: Signature verification process

Page 51: A WIRELESS APPLICATION PROTOCOL ENABLED …

37 | P a g e

Equation 3.4 shows the individual steps of the verification process. The inputs are the message digest h

(m), the public key Q (x, y), the signature components r and s, and the base point

G (x, y):

W = s -1 mod n

U1 = (h (m)*w) mod n

U2 = mod n

(x2, y2) = (U1*G (x, y) +U2*Q (x, y)) mod n

The verification is successful (“passes”) if x2 is equal to r, thus confirming that the signature was indeed

computed using the private key.

3.8 THE PROCESS

Double encryption is the process of encrypting an already encrypted message with the aim of enhancing

security. In Figure 3.8, we explain the security transmission process of how data is encrypted twice and

decrypted with different keys, before being sent across various network channels. The plaintext is

encrypted and then re-encrypted once again. This process ensures that data is never in plaintext when it

is transmitted over the network. Data privacy and data integrity are ensured by performing double

encryption. Furthermore, when data travels across the network, measures that are in place check if data

has not been tampered with. When data reaches its intended destination, it has been decrypted twice.

Listed next is a description of the steps on how the encryption and decryption process starts and how it

ends.

1. The mobile commerce security system adopts a double-layer-encryption technique

in its data transmission, and it provides secure transmission of data. Elliptic Curve

Cryptography is used in order to encrypt data. The mobile terminal encrypts data

message Msg0 to obtain Msg1 with key1 of the application server, before encrypting

Msg1 with key2 to obtain Msg2.

2. Msg2 is sent to the WAP gateway. The WAP gateway decrypts Msg2 with key2 to

obtain Msg1.

Page 52: A WIRELESS APPLICATION PROTOCOL ENABLED …

38 | P a g e

3. The WAP gateway encrypts Msg1 with TLS/SSLkey, key3 to obtain Msg3, before

sending it to the application server.

4. The application server decrypts Msg3 with key3 to obtain Msg1, then decrypts Msg1

with its own private key, key1, therefore it obtains the plain-text Msg0.

Figure 3-8: Security transmission process in the double-layer encryption scheme

3.9 SUMMARY

This section described ways in which mobile commerce security may be enhanced using cryptographic

algorithms. We discussed the need for and the importance of having the authentication process.

Furthermore, we elaborated on ECDH key generation, specifying ways in which keys will be generated

in our system. Digital signatures were used for exhibiting the authenticity of digital messages. The

privacy and integrity of data will not be compromised, owing to the algorithm developed to assist in

detecting modified data.

The next chapter describes the implementation of our cryptographic algorithms and the tools

and technologies used to accomplish the solution.

Page 53: A WIRELESS APPLICATION PROTOCOL ENABLED …

39 | P a g e

4. IMPLEMENTATION

The previous chapter dealt with the description of the model and its associated key algorithms. Based

on the model, we have designed a graphically driven prototype as a proof of concept to demonstrate the

applicability of the model. This chapter also demonstrates the efficiency of the prototype by describing

and explaining the system, using screenshots. Furthermore, this chapter concludes the methodology

used in achieving this study.

The prototype was implemented in the Visual Basic dot Net as the programming language. The

reason we have chosen to use the language is the benefits offered by the language, such as a drag and

drop interface. The prototype consists of the ECDH key generation algorithm, ECDSA signature key

generation, and the signing process and signature verification algorithm that will be used by the system.

In addition to this, algorithms which handle privacy and integrity issues are also implemented in this

chapter.

4.1 PROGRAMMING LANGUAGE, ENVIRONMENT, AND TOOLS

The environment used to implement the prototype of the ECDH algorithm and ECDSA algorithm is the

Windows 8.1 operating system; and the programming language used was Visual Basic dot net. Visual

Basic Studio Express 2013 is the version of Visual Basic dot net launched by Microsoft in 2013 (Sharp,

2013). Visual Basic Express 2013 has many new features compared with Visual Basic Studio 2012.

Similar to Visual Basic Express 2012, Visual Basic Studio Express 2013 is now integrated in a package

with other Microsoft Programming languages such as C# and C++.

4.2 PROTOTYPE ALGORITHMS

Two built-in functions, namely, Imports System.text and Imports System.Security.Cryptography

provide the cryptography functions that we use to secure encoding and decoding of data, as well as

hashing, random-number generation, and message authentication. System.text namespace contains

classes that represent ASCII and Unicode character encodings. The ECDSA class performs all

Page 54: A WIRELESS APPLICATION PROTOCOL ENABLED …

40 | P a g e

arithmetical computations and functionalities, such as generating a signature, signing, and verification.

ECDH is responsible for creating both private and public keys.

The System.Security.Cryptography package creates the secure hash of a message, specifically

the Message Digest functions (MD). SHA-1with ECDSA is the only hash function set for use with

ECDSA by NIST. However, SHA-256 with ECDSA is selected for our implementation, SHA256 with

ECDSA not compromising the protection of the ECDSA implementation.

Table 4.1 below represents the list of packages used when designing the prototype.

Packages Description

System.Security.Cryptography

System.security.text

Provides cryptographic services, including secure encoding and

decoding of data, as well as many other operations, such as

hashing, random number generation, and message authentication

ECDiffie-HellmanCng Provides a Cryptography Next Generation (CNG)

implementation of the Elliptic Curve Diffie-Hellman (ECDH)

algorithm. This class is used to perform cryptographic operations

ECDiffie-HellmanCngPublicKey Specifies an Elliptic Curve Diffie-Hellman (ECDH) public key

for use with the ECDiffie-HellmanCng class

SHA256 Computes the SHA256 hash for the input data

System.Net Uses SSL to encrypt the connection for several network protocols

Table 4-1: Visual Basic Packages used

4.3 AUTHENTICATING THE CLIENT AND THE SERVER

In mutual SSL authentication, both the client and the server authenticate each other through the digital

certificate so that both parties are assured of each other’s identity. With regard to this aspect, both client

and server use six handshake messages to establish the encrypted channel priorities for exchange of

messages. The sequence of steps was listed in Chapter 3 (see Section 3.2). After all six steps mentioned

in Chapter 3 (Section 3.2) are performed by client and server, both client and server are connected

Page 55: A WIRELESS APPLICATION PROTOCOL ENABLED …

41 | P a g e

successfully. The digital certificate of the server has been signed and verified. The message that is sent

through the network is securely encrypted. Transport Layer Security (TLS) is used as the protocol which

ensures secure transmissions of server and client messages. The dates and times determine when the

certificate was issued, and when the certificate is going to expire. Localhost is the device from which

the certificate was issued. The client and server will now be ready and able to exchange data securely

over the network. In concluding the authentication process, the server has authenticated the client using

digital certificates; the client will now connect securely to the network.

4.4 ECDH KEY EXCHANGE

For two peers to exchange a shared secret, they need first to agree on the parameters to be used. In

Elliptic Curve Cryptography, this is typically done through the use of named curves. A named curve is

simply a well-defined and well-known set of parameters that define an elliptic curve (Blake-Wilson et

al., 2006).

The details of how to obtain the other party’s key (the peer key) are omitted, as this is specific

to the particular situation. Note that one does not necessarily need to generate a new private/public key

pair for every exchange (although one may choose to do so). Also, note that the derived shared secret

is not suitable for use directly as a shared key. Typically, the shared secret is first passed through some

hash function, to generate a key.

In the ECDH key exchange algorithm, the client and the server first choose the public key that

both agree on. The client chooses a random private value. The server follows suit, also choosing a

random private value. The server and the client both use the public key agreed upon, together with their

private keys known only to them, to generate a public key. Next, the server sends the client the generated

public key. The client reciprocates accordingly. The server uses the client public key and its own private

key to generate a secret key agreement. The client uses the server’s public key and his or her own private

key to generate a secret key agreement. The generated value is calculated using the programming

algorithm code showed in Figure 4.1 below. The Do function ensures that the generated value will

continue to change whenever the public key value is requested.

Page 56: A WIRELESS APPLICATION PROTOCOL ENABLED …

42 | P a g e

The client starts by generating a public key randomly, producing it as follows:

Client public key value (m) = 3919f720331100c

The client public key value (m) is the value that the client will be publicly sharing with the

server on the network.

The generated value is calculated using the programming algorithm code depicted below.

Figure 4-1: Client public key

The server also generates its own random public key in which the server’s public key value =

1d19f7207b5f9bb.

The public key value of the server will be shared with the client publicly over the network. The server

public key is generated using the programming algorithm code depicted on the next page (see Figure

4.2). The advantage of choosing numbers randomly (above) proves that each device can produce a

different key each time it goes through the process. Both the server and client public values are made

public.

Page 57: A WIRELESS APPLICATION PROTOCOL ENABLED …

43 | P a g e

Both the client and server private values are generated randomly:

Client private key value=19f71f5e660be19f71f5e93427

Server Private Key Value= b5c1db37848719f5e660be

Client and server calculate the shared key as follows:

Client shared key = 1c19f7207b5f9bb

Server Shared key=1c19f7207b5f9bb

Figures 4.3 and 4.4 illustrate that the client receives the public key from the server, before using

his or her own private key and public key to calculate the shared key. Additionally, the server receives

the randomly generated public key from the client, using it and its own private and public key to

calculate its shared key. Thus, the server and the client both have the same key.

Figure 4-2: Server public key

Page 58: A WIRELESS APPLICATION PROTOCOL ENABLED …

44 | P a g e

Figure 4-3: Client private key value

Figure 4-4: Shared keys

Page 59: A WIRELESS APPLICATION PROTOCOL ENABLED …

45 | P a g e

Now that the client and the server have obtained the shared secret key, they use the shared keys

to view the encrypted message.

4.4.1 Elliptic Curve Digital Signature Algorithm (ECDSA)

The ECDSA applet contains three parts, namely, the key generation, signature generation, and signature

verification. The prototype has two entities, namely the client and the server. Firstly, a random Elliptic

Curve (EC) key pair (private key and public key) that was created in the ECDH is used to generate an

ECDSA signature. Next, the generated signature is used to sign the message verification being

conducted, to assure the accuracy of the process.

4.4.2 Key and Signature Generation

The ECDSA signature generation functions on numerous domain parameters, namely, a private key d

and a message m. The outputs are the signature (r, s), where the signature components r and s are

integers.

Message is txtmessage = “Testing Prototype”

The signature is generated using the client private key that was randomly generated. The

message is signed using a build-in function provided by visual basic. The algorithm ensures that there

is a string to sign.

The txtmessage is signed, and yields the following value:

JF2mqVnquTiocQn2cL4FGc0QV+hV5x8sH+Au8+yR6B6HZ1dts09zMYliFh7+VtzK4m9i0LpaOBH

dLWF5emRZdGSWwEiboTimY9RSvQtdZ1z6hGx9gxU2P+vErNnE1YAihuBb242bY68B2qks7y1D

aqzxdymhjBqri290QHN2wzA

The message has been signed.

Page 60: A WIRELESS APPLICATION PROTOCOL ENABLED …

46 | P a g e

Figure 4-5: Signing message

4.4.3 Signature verification

Depending on whether the server knows the ID of the client, the server will be able to verify the

signature of the client as soon as the signature has been created. Knowing the client’s ID, the server can

select the ID from the list of public keys stored in the server’s memory. The server can determine

whether the signature is valid, given the client public key. The signature value is sent to the server to

verify its validity or otherwise. The server accepts the message if the signature is valid, and allows for

authentication. Otherwise, the signature is invalid.

The test is performed for verification purposes, ascertaining whether the signature has been

tampered with. The client and server values must be the same to ensure that the signature message is

valid. Figure 4.6 listed on the next page illustrates the programming sense behind the testing.

Client =05d8ec67f64d6c96ab2f1d236370237d9176f28517fc912b62ce3b7242bb6e08

Server=05d8ec67f64d6c96ab2f1d236370237d9176f28517fc912b62ce3b7242bb6e08

If the message produces a different value, it means that the signature is not valid.

Page 61: A WIRELESS APPLICATION PROTOCOL ENABLED …

47 | P a g e

Figure 4-6: Signature verification

4.5 SUMMARY

This chapter described the tools and technologies needed to develop our prototype. The prototype

describes ways in which data will be secured over the Internet by the use of WAP-enabled cryptographic

algorithms defined in our model. The chapter demonstrated and explained our prototype using actual

sample inputs that were selected randomly. The Visual Basic language offered the platform to deliver

the functionality of our prototype, enabling the graphic-driven prototype to clearly demonstrate the

capability of our system. The prototype demonstrated the ability to provide a high level of security for

data transfer in a public interface through the Visual Basic application.

The next chapter discusses the experimental evaluation of our prototype.

Page 62: A WIRELESS APPLICATION PROTOCOL ENABLED …

48 | P a g e

5. EXPERIMENTAL EVALUATION

This chapter covers the tests that were performed on our system in the present study. It comprises the

procedures that were used in carrying out the testing process. Various tests were applied. The first test

is to determine that the shared secret keys between entities may be created and sent securely over the

network, using the ECDH algorithm to encrypt and decrypt data. The other test is to determine whether

the message transmitted over the network may be verified as valid by signing a message using the

ECDSA.

5.1 TESTING AND EVALUATING THE PROTOTYPE

In this section, we are testing and evaluating the implementation of our prototype. The aim of this

section is to prove that we have implemented the proposed algorithm effectively. VB.net socket layer

programming has been used to connect the client and the server. Messages are transmitted from the

client to the server when the socket is created. As soon as the client and the server are connected to each

other, a number of different steps take place. The process of creating the shared key is tabled below (see

Table 5.1)

Client Server

Step 1: Client chooses a random number to

compute the public key.

Step 2: Server chooses a random number to

compute the public key

Step 3: Client chooses a random number and

keeps it to compute the private key.

y = a ^ m mod v

(value of y is sent to the server)

Step 4: Client chooses a random number and

keeps it to compute the private key

Z= a ^ c mod v

(value of z is sent to the client)

Step 5: Client computes the shared key.

K1= z ^ m mod a

Step 6: Server computes the shared key

K2= y ^ c mod q

Table 5-1:Process of Creating Shared Keys

Page 63: A WIRELESS APPLICATION PROTOCOL ENABLED …

49 | P a g e

The screenshot listed in the figure below indicates that the client has generated a random public

value and a client private value to be used. The private value is stored by the client and not shared. The

public random value is shared with the server. The server will also perform the same process of

generating both random public and private value. Furthermore, the public value of the server is shared

with the client over a network.

Figure 5-1: Randomly generated private and public key for client

Figure 5.2 listed below illustrates the actual values.

The server uses its keys as well as the client public key to compute a derived key. The client

also uses his or her own keys and a server private key to compute the derived key (see Figure 5.3). The

client and the server can now send each other their encrypted texts; however, they can only view the

message if they both have the same key (derived key).

Page 64: A WIRELESS APPLICATION PROTOCOL ENABLED …

50 | P a g e

Figure 5-2: Randomly generated private and public key for server

Figure 5-3: Shared key (derived key)

5.2 ELLIPTIC CURVE DIGITAL SIGNATURE ECDSA ALGORITHM

This section introduces the ECDSA algorithm which is used to sign the message, before verifying that

message has not been tampered with by a third party. Figure 5-4 illustrates how this verification is

achieved.

Page 65: A WIRELESS APPLICATION PROTOCOL ENABLED …

51 | P a g e

Figure 5-4: Elliptic-curved digital signature

The plaintext entered as “Testing prototype” is entered and encrypted using the receiver public key. The

SHA256 with ECDSA is used to hash the message. The results of the text are displayed as shown in

Figure 5.4. Furthermore, the signature is generated using the sender’s private key. The verification of

the signature is conducted using the public key. If the sender or the receiver wishes to view the encrypted

message, they must also know the shared key (derived key).

5.2.1 Case in which signature is either verified or invalid

The prototype now tests whether or not the signature has been modified. Performing this test will

determine whether the security on the system has been tampered with. As demonstrated in Figure 5.5,

the signature has not been modified.

In Figure 5.6 the signature was modified for testing purposes, which resulted in the system

alerting the user of the invalidity of the signature.

5.3 PERFORMANCE

Figure 5.7 listed on the next page demonstrates an alternative approach to examining the performance

of ECC, comparing it with RSA/DSA. This approach compares the key lengths of each algorithm that

will provide a level of security measured in a million instructions per second (MIPS) to break the

Page 66: A WIRELESS APPLICATION PROTOCOL ENABLED …

52 | P a g e

security. The graph further illustrates why ECC algorithms are chosen as preferred algorithms over RSA

and DSA in enhancing the security of M-commerce. Based on these results, we conclude that ECC is

the superlative system, taking into account RSA and DSA.

Figure 5-5: Signature verification

Figure 5-6: Signature verification not successful

The smaller key sizes of ECC possibly allow for less computationally able mobile devices to

use cryptography for securing data transmissions, message encryption/decryption and message

verification.

Page 67: A WIRELESS APPLICATION PROTOCOL ENABLED …

53 | P a g e

Figure 5-7: Algorithm comparison

5.4 SUMMARY

This chapter dealt with the experimental evaluation of the results of our prototype by using ECDH and

ECDSA algorithms. Furthermore, the discussion of the reason for choosing this ECC over other

cryptographic algorithms is supported by the results listed on the graph in Figure 5.7. In conclusion, by

evaluating and testing the prototype, we were able to demonstrate that the prototype has managed to

achieve its intended use of enhancing M-commerce security through cryptography.

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

Skipjack 3DES AES-128 AES-192 AES-256

80 112 128 192 256

Size

of

Pu

blic

Ke

ys

Symmetriv Encryption Algorithm

Algorithm Comparison

DSA/DH RSA ECC

Page 68: A WIRELESS APPLICATION PROTOCOL ENABLED …

54 | P a g e

6. SUMMARY, CONCLUSION AND FUTURE WORK

This chapter presents the overall summary, future work, and finally, a brief conclusion of the study.

This study has addressed security challenges faced in a mobile commerce environment, affording ways

in which mobile commerce security may be enhanced by means of cryptographic algorithms.

In Section 6.1, the chapter revisits the problem as stated in Section 1.1. Section 6.2 furnishes a brief

summary of the main issues addressed in the dissertation, while Section 6.3 concludes the thesis,

followed by some future research issues discussed in Section 6.4.

6.1 PROBLEM STATEMENT REVISITED

The main aim of the dissertation was to develop and implement cryptographic algorithms that could

enhance security in a mobile commerce environment. The view expressed in this study is that users of

M-commerce must be able to perform mobile transactions securely over networks without their

information being compromised.

We worked from the assumption that when data is not encrypted while it travels over the network,

it becomes vulnerable to various attacks such as man-in-the middle attacks, eavesdropping, and more.

The following research questions were therefore raised at the beginning of this study. The primary

question asked how a WAP-enabled cryptographic model may be used to enhance mobile commerce

security. The follow-up questions were: How may a suitable WAP-enabled cryptographic algorithm be

chosen in mobile commerce? How may the WAP-enabled cryptographic algorithm be developed and

implemented effectively in M-commerce? and lastly, How may the WAP-enabled cryptographic

algorithms be evaluated?

To answer these research questions, the following objectives were set: firstly, to determine ways

in which a WAP-enabled cryptographic model may be used to enhance mobile commerce security. The

second objective was to choose a suitable WAP-enabled cryptographic algorithm for mobile commerce.

The third objective was to develop and implement an effective WAP-enabled cryptographic algorithm

for M-commerce. Lastly, the WAP-enabled cryptographic algorithms had to be evaluated.

Page 69: A WIRELESS APPLICATION PROTOCOL ENABLED …

55 | P a g e

In an attempt to evaluate the contribution of the study the remaining sections of this chapter

present a summary and conclusion of the study, based on how the research questions were answered,

and the set objectives realised.

6.2 SUMMARY OF RESEARCH

The main goal of the study was to enhance mobile commerce security through cryptographic algorithms

suitable for mobile devices. To achieve that goal, various cryptographic algorithm techniques were

studied, exposing their strengths and weaknesses, to determine which are more suitable for security in

mobile commerce. Additionally, we discovered that ECC algorithms are more secure and easily

compatible with M-commerce devices, owing to their utilising less computational power. Furthermore,

we demonstrated why ECDSA and ECDH are more secure than DSA and Diffie-Hellman (DH) key

exchanges, respectively. The features of ECDSA enabled us to generate, sign, and verify a signature,

while ECDH allowed us to secure messages by encrypting and decrypting them.

The study further investigated ways in which ECDSA and ECDH algorithms may be effectively

implemented in an M-commerce environment. With the limitations of mobile devices, we cautiously

studied the cryptographic algorithms in order to implement them effectively. Choosing the most

appropriate cryptographic algorithm is not a simple task. A number of factors pose a challenge, such as

the difficulty of breaking the algorithm, speed of processing the algorithm, power consumption, and

memory requirements of the algorithm. All these factors had to be taken into consideration. We studied

the strength of individual cryptographic algorithms; and we realised that combining various algorithms

usually produces better results than when using individual algorithms.

On the design and implementation of the algorithms, we used the Visual Basic Studio

programming language to design the prototype. The use of Visual Basic enabled us to use cryptographic

built-in functions to enhance security. The design was split into two parts: the ECDH algorithm design,

and the ECDSA algorithm design. In the ECDH algorithm, the system creates randomly generated

private and public keys that are used to produce a shared key. The shared key is used to encrypt and

Page 70: A WIRELESS APPLICATION PROTOCOL ENABLED …

56 | P a g e

decrypt the message. In the ECDSA, the algorithm generates a signature, signs the message, and lastly,

verifies the signature.

Finally, as detailed in Chapter 5, the study compared RSA, DSA, and ECC in terms of speed and

performance. Furthermore, an experimental evaluation of ECDSA and ECDH was conducted to

demonstrate its applicability, usefulness, and the efficacy of the prototype. The study used ECC

cryptography as a solution to enhance security on mobile commerce.

The summary of the study clearly illustrates that the dissertation answered the primary goal and

its enumerated objectives, as measured against the intended contributions.

The main contributions of this study are summarised as follows.

a) The development of a formal WAP-enabled cryptographic model for M-commerce,

which ensures that data is transmitted in a secure manner over the network.

b) The development of a novel, cryptographic model, which contributes to system

optimality and usability.

c) The development of a formal specification of the cryptographic model using a

conventional modelling language such as Visual Basic Studio. The specification

provides a basis for demonstrating the feasibility of the practical realization and

application of the model.

d) The development of a prototype of the WAP-enabled cryptographic algorithm as a

proof of concept that demonstrates the theoretical and empirical validity of the

model.

e) The development of a system that will help in enhancing security which will be

useful for large corporations and individuals to perform their transactions safely.

Page 71: A WIRELESS APPLICATION PROTOCOL ENABLED …

57 | P a g e

6.3 CONCLUSION

An ideal solution to mobile-commerce security challenges is to develop an end-to-end security model,

which ensures that data from the transfer point to the destination point is entirely secured. According to

(Winkler, 2013), “always there is no perfect secure system”, especially in M-commerce, since the

mobile communication system and all its applications are still growing.

In this study we have shown that security of M-commerce has been improved greatly by using

various cryptographic algorithms. ECC algorithms are suitable in an M-commerce environment thanks

to their advantages over other cryptographic algorithms. The model proposed in this study has several

advantages. These are:

• The prototype is compatible with many types of mobile devices;

• The encrypted information is encoded by double-layered encryption. Therefore, if someone

manages to extract information from the gateway, he or she will not be able to decode it without

having the key;

• The use of ECDH makes it nearly impossible for unauthorised people to decrypt the message;

• The algorithm provides end-to-end security. The possibility of disclosure of information is very

low, because the information is encrypted.

Based on experimental results of this study, the following conclusion is presumed. Firstly, it may

be said that the use of integrated cryptographic algorithms in enhancing the security of M-commerce

was successful. ECDSA and ECDH were evaluated against other cryptographic algorithms in terms of

key size, speed, and compatibility. Secondly, the proposed algorithms enhanced the current security

issues regarding confidentiality, privacy, and integrity. Thirdly, the use of Visual Studio made it easy

to implement our cryptographic algorithms, and to integrate them fully.

6.4 FUTURE WORK

M-commerce security is an issue of paramount importance, requiring further research to introduce

efficient and effective solutions. The findings in this dissertation have exposed many problems that still

exist in mobile-commerce security. We proposed a model that combines various cryptographic

Page 72: A WIRELESS APPLICATION PROTOCOL ENABLED …

58 | P a g e

algorithms that were discussed in the study. Furthermore, we designed a prototype that represents our

model.

ECC increases the size of the encrypted message significantly more than RSA encryption. Further

research may be conducted on reducing the size of the encrypted message when implemented in a

mobile-commerce environment. This will also improve the performance of ECC, thus making ECC

reliable for wider adoption. In our literature review we discovered that the solutions implemented do

not provide end-to-end security. With the integration of cryptographic algorithms, we managed to

provide end-to-end security measures for an M-commerce environment.

Page 73: A WIRELESS APPLICATION PROTOCOL ENABLED …

59 | P a g e

7. REFERENCES

Abidi A, Bouallegue B, Kahri F (2014) Implementation of elliptic curve digital signature algorithm

(ecdsa). Paper presented at the Computer & information technology (gscit), 2014 Global summit.

Alliance OM (2002). Wireless application protocol public key infrastructure definition. Technical

report, OMA.

Amadeo M, Molinaro A, Campolo C, Sifalakis M, Tschudin C (2014) Transport layer design for

named data wireless networking. Paper presented at the computer communications workshops (Infocom

wkshps), 2014 IEEE conference.

Bellovin SM (2006) Cryptography.

Blake-Wilson S, Moeller B, Gupta V, Hawk C, Bolyard N (2006) Elliptic curve cryptography (ecc)

cipher suites for transport layer security (tls).

Boudriga N (2009) Security of mobile communications. Us: Taylor & Francis group, LLC.

Brumley B (2004) A3/a8 & comp128. T-79.514 special course on cryptology.

Bygrave LA (2014) Data privacy law: an international perspective. Oxford University Press.

Coppersmith D (1994) The data encryption standard (des) and its strength against attacks. IBM journal

of research and development, 38(3):243-250.

Delfs & Nebl H (2007) Introduction to cryptography: principles and applications. Springer science &

business media.

Dierks T & Rescorla E (2008) The transport layer security (tls) protocol version 1.2.

Easttom C (2014) The RSA algorithm explored.

Eberle HG, Nils S, Sheueling CG, Vipul R, Sundaram L (2004) A public-key cryptographic processor

for RSA and ECC. Paper presented at the application-specific systems, architectures and processors,

2004. Proceedings. 15th IEEE international conference.

Fire M, Goldschmidt R, Elovici Y (2014) Online social networks: threats and solutions. IEEE

Communications surveys & tutorials, 16(4):2019-2036.

Forum W (2002) WAP 2.0 Technical WAP white paper. WAP forum [online]. Available from:

http://www.wapforum.org. [accessed: 25 July 2016].

Garfinkel S (1995) PGP: Pretty good privacy. " O'reilly media, inc.".

Page 74: A WIRELESS APPLICATION PROTOCOL ENABLED …

60 | P a g e

Geier E (2014) How to use Openpgp to encrypt your email messages and files in the cloud. August 22,

2014: Pcworld.

Grami A & Schell B (2004) Future trends in mobile commerce: service offerings, technological

advances and security challenges. Paper presented at the PST.

Hankerson D, Menezes AJ, Vanstone S (2006) Guide to elliptic curve cryptography. Springer science

& business media.

Jain AK, Nandakumar K, Ross A (2016) 50 Years of biometric research: accomplishments, challenges,

and opportunities. Pattern recognition letters.

Jansma N & Arrendondo B (2004) Performance comparison of elliptic curve and RSA digital

signatures. Nicj. Net/files.

Jivsov A (2012) Elliptic curve cryptography (ecc) in Openpgp.

Johnson NF & Jajodia S (1998) Exploring steganography: seeing the unseen. Computer, 31(2):26-34.

Khalique A, Singh K, Sood S (2010). Implementation of elliptic curve digital signature algorithm.

International journal of computer applications, 2(2):21-27.

Kessler GC (2012). An overview of cryptography. Published by Auerbach, 22.

Koblitz N (1987) Elliptic curve cryptosystems. Mathematics of computation, 48(177):203-209.

Koblitz N, Menezes A, Vanstone S (2000) The state of elliptic curve cryptography. In: Towards a

quarter-century of public key cryptography. Springer:103-123.

Kumar A (2013) Asymmetric key cryptography. Available at SSRN 2372882.

Lam KY, Chung SL, Gu M, Sun JG 2003. Lightweight security for mobile commerce transactions.

Computer communications, 26(18):2052-2060.

Lauter K (2004) The advantages of elliptic curve cryptography for wireless security. IEEE wireless

communications, 11(1):62-67.

Lederer C, Mader R, Koschuch M, Großschädl J, Szekely A, Tillich S (2009) Energy-efficient

implementation of ECDH key exchange for wireless sensor networks. In: Information security theory

and practice. Smart devices, pervasive systems, and ubiquitous networks. Springer:112-127.

Lenstra A & Verheul E (2001) Selecting cryptographic key sizes. Journal of Cryptology:255-293.

Luyster FC (2001) Block cipher method. Google patents.

Page 75: A WIRELESS APPLICATION PROTOCOL ENABLED …

61 | P a g e

Pawar PY, Gawande SH, Deotale DG (2012) M-commerce security using random LSB steganography

and cryptography. International journal of machine learning and computing, vol. 2(no. 4):427-430.

Pelzl J & Paar C (2010) Understanding cryptography. 1 ed.: Springer-Verlag Berlin Heidelberg.

Pub F (2012) Secure hash standard (SHS). Fips pub 180, 4.

Robinson, S (2003) Still guarding secrets after years of attacks, RSA earns accolades for its founders.

Siam news 36.

Roy SS, Järvinen K, Verbauwhede I (2015) Lightweight coprocessor for Koblitz curves: 283-bit ECC

including scalar conversion with only 4300 gates. Paper presented at the International workshop on

cryptographic hardware and embedded systems.

Saranya K, Mohanapriya R, Udhayan J (2014) A review on symmetric key encryption techniques in

cryptography. International journal of science, engineering and technology research (ijsetr), 3(3):539-

544.

Schneider B (2013) Applied cryptography: protocols, algorithms, and source code in c. John Wiley &

sons.

Sharma A, Kansal V, Tomar R (2015) Location based services in m-commerce: customer trust and

transaction security issues. International journal of computer science and security (ijcss), 9(2):11.

Sohani A & Sawant K (2016) PSDS: privacy preserving system for data security implementation and

countermeasures. International journal of computer applications, 156(4).

States JDWJU (2001) What concerns do biometrics raise and how do they differ from concerns about

other identification methods?" Army biometric applications: identifying and addressing sociocultural

concerns. Army, Arroyo center.

Tiejun P & Leina Z (2012) New mobile commerce security solution based on WPKI. Communication

systems and network technologies (CSNT), 2012 International conference on (pp. 485-488). IEEE.

Wang S & Fan L (2010) A solution of mobile e-commerce security problems. Paper presented at the

Education technology and computer (icetc), 2010 2nd International conference.

Winkler I (2013) Electronic privacy? There's no such thing [online]. Available from:

https://www.computerworld.com/article/2485219/security0/electronic-privacy--there-s-no-such-

thing.html. [accessed: 30 November 2017].

Xiangdong H, Qinfang W, Wang P, Xian J (2002) WAP security implementation of new type of

crypographic algorithm. Computer applications:22.

Page 76: A WIRELESS APPLICATION PROTOCOL ENABLED …

62 | P a g e

Xiuling J & Daxing L (2001) The security scheme of WAP. Computer applications, 21:2.

Yadav S (2009) M-commerce and its security issues in International journal of scientific research

engineering & technology (ijsret), 3(4).

Zhang CN, Xu Y, Wu CC (1997). A bit-serial systolic algorithm and VLSI implementation for RSA.

IEEE.

Zhang X, Ma S, Shi W, Han D (2015) Implementation of elliptic curve digital signature algorithm on

iris nodes. Paper presented at the Estimation, detection and information fusion (icedif), 2015

International conference.