Wireless Gateway Programming Model
Wireless Gateway Programming Model
net/publication/224151706
CITATIONS READS
0 409
1 author:
Qadri Hamarsheh
Philadelphia University
58 PUBLICATIONS 126 CITATIONS
SEE PROFILE
All content following this page was uploaded by Qadri Hamarsheh on 19 May 2014.
• Sending the URL request by the WAP phone 3. The WAP protocol stack layers'
to the WAP Gateway. Configuration
• Translating the WAP request by the Gateway In general, Gateway Configuration model (GC)
into an HTTP request and sending it to the deals with issues related to initialization,
appropriate origin server. configuration and dynamic re- configuration to set
• Sending back the request information by the various configurations of WAP protocol stack
origin server to the Gateway via HTTP protocol. layers used by WAP technology. During the
• Converting the information (HTTP responses) implementation of WAP protocol stack layers,
by the Gateway to a format suitable for the mobile depend on whether the type of service is
device if necessary and sending it back to the connection–oriented or connectionless, secure or
browser in the mobile device. none secure, the WAP Gateway's GC model
• Terminating the session by the phone. supports all transmissions and their configurations
In case of security related applications (m- that are specified for WAP over UDP/IP. Table 2
commerce) the transmission can be encrypted and illustrates the required layers needed to be
the Gateway can be authenticated using electronic implemented to get these configurations and
certificates. provides transaction kinds: reliable and unreliable
II. WAP Gateway Building Blocks for the WAP datagram service.
This section summarizes the duties and, according The main difference between the connectionless
to them, the building blocks of the WAP gateway. session services and the connection oriented
The basic duties are the following: session services that the connectionless are
1. Resolving DNS hostnames into IP unreliable and the connection oriented are reliable.
Connection Security Required Transaction
addresses (RDNS Model) oriented Layers Kind
WAP Gateway takes over all DNS services to for Configuration
resolve domain names used in URLs, this is √ √ WAE–WSP-WTP- Reliable
WTLS-WDP
optional if the Gateway uses an HTTP proxy to Χ √ WAE-WSP-WTLS- Unreliable
retrieve the content and in the case of public WDP
internet HTTP proxy has the responsibility of √ Χ WAE–WSP-WTP- Reliable
resolving internet domain names instead of WAP WDP
Gateway. Χ Χ WAE–WSP-WDP Unreliable
Table 2: The WAP protocol stack layers ' configuration
2. Protocol conversion: WSP HTTP (PC
Table 3 illustrates the required messages
Model)
primitives at the client and server sides that must
WAP Gateway's PC Model translates requests
be used in both services.
from the WAP protocol stack (WSP, WTP, Messages Primitives
WTLS, and WDP) to the WWW protocol stack Service
Client Side Server Side
Kind
(HTTP and TCP/IP). This means that a PC model request response indication confirm
can accept a packet formatted for one protocol and Connection A* N/A A N/A
convert it to a packet formatted for another -less
connection A A A A
protocol before forwarding it. oriented
WSP provides complete HTTP 1.1 functionality, Table 3: Service kind and their messages primitives;
this includes: Extensible request-reply methods: A- Available, N/A – Not available
Get, Post, etc., Request, Response, Push content, 4. Content Encoders and Decoders (CED)
WSP optionally supports asynchronous requests, Model
so that a client can submit multiple requests The internal structure of wireless network called
simultaneously, content type negotiation: the latency due to:
process of selecting the best representation for a • The information coming from the internet and
client for a given response when there are multiple going to the WAP devices has to go through
representations for the same content, exchange different parts in the mobile networks.
client and server session entity headers. • A narrow bandwidth of the air interface used
The WAP Gateway's PC model supports the to transmit data to mobile phones (9600 bit per
following entity headers: second in GSM network compared to 28-56 kbps
Request Header: Meta information that is sent on wired networks).
along with HTTP request. So the WAP Gateway contains the Content
Response Header: Meta information in a Encoders and Decoders that convert the WAP
HTTP response. content into a binary, compressed and encoded
WSP Headers: they are in a compact format that better suited for over-the-air
tokenized form as defined in the WAP transmission and limited WAP client device
specification. processing [1, 2].
4
Two kinds of encoders and decoders are used by Cache Server. The WAP caching model is based
the WAP Gateway are: on HTTP/1.1 caching as defined in RFC2616 [26].
• WML Encoder/Decoder – Global Tokenizer. 6. Heterogeneous Security Model (HS Model)
• WMLScript Compiler–Application Tokenizer. WAP Gateway enables a flexible heterogeneous
WML is an XML (Extensible Markup Language) security infrastructure that focuses on providing
tag-based document manipulation language. It is capabilities for secure connection between a WAP
designed for specifying user interface behavior and client and server to protect WAP pages and other
displaying content on wireless devices such as applications from external attacks. Security is an
phones, pagers, and PDAs. optional layer above the transport layer.
WMLScript is an extended subset of JavaScript There are actually two secure sessions in play:
language and it is used to add the power of • One is defined for secure transport over
procedural logic to WML documents. datagrams between the mobile device and the
The conversion of WML and WMLScript to their WAP Gateway using WTLS [5,8,9,10].
compact binary representations is done by two • The other is defined between the WAP
independent conversion modules [26]. Gateway and the HTTP server. Using Transport
The encoding of WML content into its binary form Layer Security (TLS), formerly known as Secure
process is known as tokenization (global tokens) Socket Layer (SSL) to provide security of data
[21], during this process, the Gateway must: over public networks like Internet (this session
Verify that the WML content (WML decks) acts over connections i.e. TCP).
has no errors and is well formatted (WML WTLS uses public-key cryptography–based
documents are an XML documents type). algorithms and mechanism such as RSA, DES,
Convert all markup and WML syntax (i.e., MD5, Triple DES and RC5 [11].
entities, tags, attributes, etc.) into their WTLS has the following Features: datagram
corresponding tokenized format. support, optimized handshake, dynamic key
Perform various optimizations which make refreshing and interface for creating and
heavy use of the string-table that is defined for the terminating secure connections.
binary format of WML, an example of these WTLS provides the following basic security
optimizations is the removing of all comments, issues:
WML declaration, document type declaration and Authentication: being able to validate that the
other meta information. other party participating in a transaction is who the
WMLScript Compiler [22] that performs the party claims to be.
process of tokenizing the WMLScript programs Authorization: being able to validate that a
into a bytecode format (application tokens). The party wanting to perform some action is entitled to
Gateway's WMLScript compiler reduces the need perform that action within the given context
for round trips to the origin server. WAP Gateway Privacy or Confidentiality: being able to
informs WAE User Agents about compilation ensure that the content transferred on the network
errors using the HTTP status code 502. The and meaning of communications between two
Gateway involves syntax and semantic checks and parties do not become known to third parties. This
generates the bytecode according to the is usually solved by encrypting.
WMLScript instruction set; it is not entirely Integrity: being able to ensure that no one can
analogous to WML encoding. tamper with the content transferred on the
The most important difference between WML network.
encoding and WMLScript compilation is that in Non-repudiation: being able to ensure that a
WML, the global tokens are assigned a fixed set of user can not deny having done a transaction. This
codes in all contexts (standard binary values that can be solved by the use of digital signature.
have been defined in the specification) and in The WAP Gateway generates the public and
WMLScript, the application tokens have a context- private keys and enables a flexible security
dependent meaning, WMLScript is compiled in a infrastructure that supports two models of security:
manner to compilation of programs like other "Two Phase Security" model and “End to End
programming languages (non-existing Security” model [10,11], the steps for each model
architecture). are describe in figure 3, where in "Two Phase
5. Caching Frequently Used Information Security" model the steps are the following:
(CFUI Model) [23] (1) WAP Gateway sends Certificate Request (CR)
WAP Gateways help to reduce the time needed to to PKI Portal.
fetch a document or resources from the origin (2) PKI Portal confirms ID and forwards request
server; they contain the procedures required to (CID) to Certificate Authority (CA).
configure the caching mechanism to optimize (3) CA sends Gateway Public Certificate (GPC)
WAP client performance and to update cache to WAP Gateway.
content automatically using Acceleration and
5
(4) WTLS session established between WAP 8. WAP Client State Management Model
phone and WAP Gateway. (WCSM Model)
(5) SSL/TLS session established between WAP The WAP Gateway can store and manage the state
Gateway and WAP server. of the WAP client information using Cookies and
The steps in "End to End Security” model are the WAP HTTP state management mechanism. It is
following: responsible for caching, sending and deleting the
(6) WAP server sends CR to PKI Portal. cookies.
(7) PKI Portal confirms ID and forwards request 9. User Authentication Model (UA Model)
(CID) to CA. [26]
(8) CA sends Server Public Certificate (SPC) to The gateway can often identify the actual user
WAP server. depending on bearer network used.
(9) WTLS session established from WAP phone 10. Push Functionality Model (PF Model) [12,
to WAP server (routing is via WAP Gateway, but 14].
communication is opaque to Gateway). WAP Gateway allows content to be pushed from
wired networks to WAP compliant mobile devices.
A gateway intended to provide push connectivity
between wired and wireless networks using Push
Access Protocol (PAP) and Push Over-the-Air
Protocol (OTA). The operations performed by a
PPG include push submission processing, result
notification, delivery cancellation, and Push
Access Protocol (PAP) status query.
11. Fault Isolation Model (FI Model) [26]
WAP Gateway provides an efficient mechanism to
handle the errors and generates reports about them
using the Wireless Control Message Protocol
The security services span all the various layers of (WCMP) [18].
the WAP architecture. Some specific examples of 12. Data Rate Converting Model (DRC Model)
the security services, their layers and security issue DRC works between different networks [26].
achievement are provided in table 4: 13. Signal Translator Model (ST Model) as
Security Services Layer Security necessary to provide system interoperability.
Issue * III. Gateway General Architecture
P A I N Figure 4 illustrates the suggested general
Cryptographic Libraries Application Χ Χ √ √ architecture of a WAP Gateway; this architecture
[WMLScriptCrypto]
HTTP Client Session Χ √ Χ Χ is designed based on the duties and building
Authentication blocks described in the previous section.
WTLS and TLS Transport Χ √ Χ Χ IV. Conclusion
handshakes
• WAP Gateway Programming Model that
WIM functions [WIM] Application Χ √ Χ Χ
PKI [WPKI] Application √ √ √ √
consists of building blocks to solve the Gateway'
Secure Bearer Networks Bearer ? ? ? ? main functions and to enhance the performance of
P – Privacy, A – Authentication, I - Integrity, N - Non-repudiation the WAP communication is suggested.
Table 4: Security ( Services, layers and issues) • Technical and business problems of wireless
7. HTML to WML conversion (HWC Model) environment and how to take into consideration
If the server provides WWW contents and WAP these problems during the design stage of the
contents then Wireless Gateway Programming Model are
a. An automated system (filter) can be used to presented and explained.
translate the WWW contents into WAP contents, • Various fundamental aspects of the WAP
but this translation will not be perfect, and it will model related to the security, caching, state
not be rendered probably on a wireless device. management, resolving DNS hostnames into IP
b. The server can decide which content to send addresses, session management, etc. and the role
depending on "User-Agent" and /or "Accept" of each WAP model component to solve these
HTTP request header. tasks are described.
c. Providing content in XML and convert it to V. References
HTML or WML using XSLT processor. [1] Dharma P. A, Qing-An Zeng, Introduction to
Many WAP Gateways include additional duties Wireless and Mobile System, 2e, Thomson
and functions depending on how the gateway is Canada Limited, 2006.
used, these duties related to: [2] Asoke K Talukder, Roopa R Yavagal.
"Mobile Computing Technology, Application and
6