wireless application protocol (wap) - tu dresden€¢ secure access also via wap available, because...
TRANSCRIPT
1
Wireless Application Protocol (WAP)
2
Motivation and Overview• Mobile radio networks and cellular phones possess
special properties and requirements– Display: limited sizes and presented colors, numerical
keyboard, lower processor performance and storage capacity ...
– Networks: low data rates, high delays and costs
• WAP enables the use of several carriers– TCP/IP, UDP/IP, USSD, SMS, ...
• Integration of WWW and Mobile Communication• Standardized by WAP-Forum (www.wapforum.org),
initiated by Ericsson, Nokia, Motorola
USSD - unstructured supplementary service data (GSM)SMS - short message service (GSM)
3
Why HTTP/HTML doesn’t suffice?
Big pipe - small pipe syndrome
<HTML><HEAD><TITLE>NNN Interactive</TITLE><META HTTP-EQUIV="Refresh" CONTENT="1800, URL=/index.html"></HEAD><BODY BGCOLOR="#FFFFFF" BACKGROUND="/images/9607/bgbar5.gif" LINK="#0A3990" ALINK="#FF0000" VLINK="#FF0000" TEXT="000000" ONLOAD="if(parent.frames.length!=0)top.location='http://nnn.com';"> <A NAME="#top"></A><TABLE WIDTH=599 BORDER="0"><TR ALIGN=LEFT><TD WIDTH=117 VALIGN=TOP ALIGN=LEFT>
<HTML><HEAD><TITLE>NNN Interactive</TITLE><META HTTP-EQUIV="Refresh" CONTENT="1800, URL=/index.html">
InternetHTTP/HTML
Converting to binary format
Mobile radio networks<WML><CARD><DO TYPE="ACCEPT"><GO URL="/submit?Name=$N"/></DO>Enter name:<INPUT TYPE="TEXT" KEY="N"/></CARD></WML>
010011010011110110010011011011011101010010011010
WAP
4
WAP Standard• Environment = Wireless Application Environment
(WAE)– WML (Wireless Markup Language) micro-browser– WMLScript virtual machine– WMLScript standard library– Wireless Telephony Application (WTA) Interface– Contents: WAP Content Types
• Protocol layer architecture– Wireless Session Protocol (WSP)– Wireless Transaction Protocol (WTP)– Wireless Datagram Protocol (WDP)– Interface definitions for mobile networks
5
Comparison: Internet/WWW and WAP
HTMLJavaScript
HTTP
TLS - SSL
TCP/IPUDP/IP
Wireless ApplicationEnvironment (WAE)
Session Layer (WSP)
Security Layer (WTLS)
Transport Layer (WDP)
other services andapplications
Transaction Layer (WTP)
Carrier: SMS USSD CDMA CDPD etc..GPRS
InternetWireless Application Protocol
SMS - Short Message Service (GSM), GPRS - General Packet Radio Service (GSM II+), CDMA - Code Division Multiple Access, CDPD - Cellular Digital Packet Data
6
Wireless Markup Language - WML(1)
W3C - World Wide Web Consortium, XML - eXtensible Markup Language
• HTML-like page markup language– different font styles are available, also tables
and graphics, but limited • based on W3C-XML• Deck/Card-metaphor
– interactions-/selection possibilities are separated in Cards
– navigation (anchor: #) takes place between Cards
– Deck-stack corresponds to a WML-file and is unit of download (efficiency)
7
Wireless Markup Language -WML(2)
• explicit navigation model between Decks– Hyperlinks– Events from user interface– History
• variables and status-management– variable status can be maintained over longer
interaction periods
8
WML– text styles
DeckCard
<wml><card id=“Card1” title=“Text Styles”><p align="left">
<i>italic</i>,<b>bold</b>,<br> <big>big</big>,<small>small</small>,<u>underlined</u>
</p></card></wml>
9
WML-example (1)
Selectedinput
Script call
Variables
Navigation
<wml><card id=„Card1" title=„Currency" newcontext="true"><p>
Amount: <input format="*N" name=„amount" title=„Amount:"/>From: <select name=“from“ value=" USD“ title=„From:">
<option value="EUR">Euro</option>...
<option value="USD">US Dollar</option></select>
To: <select name= ...<br/> = <u>$(conv)</u><do type="accept" label=„Calculate"><go href=“bsp.wmls#convert('conv',
'$(from)','$(to)',$(amount))"/></do><do type="help" label="Help">
<go href="#card1_help"/></do>
</p></card>...
10
WML-example (1): Processing
11
WML-example (2)
Events processing
<card id="card1_help" title="Help"><onevent type="onenterforward">
<go href="bsp.wmls#getInfoDate('date')"/></onevent><p>
Currency exchange rates stem from FederalReserve Bank of New York and are from $(date).<do type="prev" label=„Back">
<prev/></do>
</p></card>
</wml>
12
WMLScript: Overview• scripting language, similar to JavaScript
– procedures, loops, conditions, ...– optimized for devices with low storage capacity and low CPU-
performance• integrated with WML, enables:
– reduction of network workload; validation of inputs– access to vendor-specific APIs– programming of conditional logic
• Bytecode-based Virtual Machine– stack-oriented design– ROM-able; designed with regard to simple implementation
• Compiler in network– better utilization of network capacity and end-device storage
• Standard library– basic functionality for processing of strings, URLs, ...
13
WMLScript-example
Procedures
Variables
Statements
extern function getInfoDate(varName){
WMLBrowser.setVar(varName,„June,3");WMLBrowser.refresh();
}extern function convert(varName,from,to,amount){
var multiplier = 0.0;...if (from == „EUR"){
...if (to == „EUR")
multiplier = 1.0;else if (to == „RUR")
multiplier = EUR_RUR;...
} else if ...WMLBrowser.setVar(varName,returnString);WMLBrowser.refresh();
}
14
Wireless Telephony Application - WTA
• Offers mechanisms for combined telephony applications; primary focus: operators/providers and vendors
• WTAI comprises:– call control, messaging, interface to phonebook, events
processing etc.• own Client/Server-interaction model
– event signalization• security via separation
– browser and port separated• WTA Browser
– offers enhancements of standard WML/WMLScript-browsers
– own WTAI (... Interface) as part of WMLScript
15
WAE Content Formats
• WAE defines uniform formats– Virtual business cards, so called IMC vCard
Standard– Date entries, IMC vCalendar Standard– graphics, WBMP (Wireless BitMaP)– compiled WML, WMLScript
• Goal: Interoperability
IMC - Internet Mail Consortium
16
WAP layer architectureWireless Session Protocol (WSP)
Wireless Transaction Protocol (WTP)
Wireless Datagram Protocol (WDP)
CarrierService A
CarrierService B
CarrierService C
Carrier DService D
Physical Layer Air Link Technology
Carrier AAdaptation
Carrier BAdaptation
Carrier CAdaptation
Wireless Transport Layer Security (WTLS)
17
WAP – abstract network architecture
GatewayClientNetwork
Application
WSP/HTTP Request {URL}
WSP/HTTP Reply {Content}
18
Specific Options
• User Agent Profiling– Content adaptation to user, end-device etc.
• Push-model– network initiates delivery of contents
• Options for performance improvement– Caching, ...
19
Example: WAP Gateway
Web Server
Contents
CGIScripts
etc.
WM
L D
ecks
,W
ML-
Scrip
t
WAP Gateway
WML Encoder
WMLScriptCompiler
Protocol adapter
HTTPWSP/WTP
ClientWML
WML-Script
WTAI
etc. WA
E U
ser A
gent
20
Example: WAP Application Server
Contents
Applicationlogic
WM
L D
ecks
,W
ML-
Scrip
t
WAP Application Server
WML Encoder
WMLScriptCompiler
Protocol adapter
WSP/WTP
ClientWML
WML-Script
WTAI
etc. WA
E U
ser A
gent
21
Wireless Session Protocol (WSP)
• supports Client/Server context (shared state), optimization of content transmission
• offers semantics and mechanisms based on HTTP• and improvements for use in mobile radio networks:
– binary encoding– negotiations of supported characteristics– session suspend/resume: release of resources– multiple asynchronous transactions– connectionless service– confirmed and unconfirmed network-initiated delivery (Push)
22
Wireless Transaction Protocol (WTP)• Properties:
– packet oriented; robust data transmission– no explicit connection set up and connection release– data are transmitted already with the first packet– concatenation of packets possible
• Transaction = Interaction of Initiator and Responder; transaction classes:– Class 0:
• non-robust datagram-service• for instance for Push during a session• transactions are closed after transmission of Invoke
– Class 1:• robust datagram-service• transactions are closed after transmission of Invoke
– Class 2:• robust datagram-service with robust Invoke- and robust Result-
messages• transactions are closed via the Initiator after confirmation of the
Responder
23
Wireless Datagram Protocol (WDP)
• provides connectionless, non-robust datagram-service
• is substituted by UDP, if IP is the a carrier• adaptation to the carrier takes place in the
Adaptation Layer• supports port numbers
24
Wireless Transport Layer Security (WTLS)
• enables secure connections, using protocol elements of known, secure Internet-protocols (TLS)
• provides mechanisms for encryption, strong authentication, integrity and key management
• corresponding to guidelines of national authorities• offers end-to-end security• Future extensions shall support Server- and Client-
certificates, for instance via additional chip-cards in mobile phones, so called WIM - Wireless Identification Module
25
UBS (Switzerland)• Data encrypted with WTLS class 2, 128 bit 3DES• UBS authentication against mobile phone via certificates with a
key size of 1024 bit• participant authentication against UBS via WAP like via Internet
with agreement number, password and transaction number• automatic connection release (Timeout)
– after ten minutes without interaction participant is demanded to re-authenticate with password and transaction number
Deutsche Bank (Germany)• WTLS (Wireless Transport Layer Security)• end-to-end-encryption• similar features
WTLS: Examples
Sources: UBC.ch,db24.de
26
WAP: Examples• Bond/Security-Order processing: Consors, Advance
Bank, Deutsche Bank• Mobile “Yellow Pages” – Orange Telecom• Mobile Timetable: wap.hafas.de• Mobile access to enterprise data• Mobile Auctioning: wap.yahoo.de, wap.ebay.de• Mobile „Last Minute Bargain“: 12snap via Vodafone• Mobile marketplaces/stock exchanges (Mobile
Brokerage): http://www.amazon.de/• Football / soccer: www.wapgoal.com
27
WAP-Gateway Web-Server
Java-Servlet-APIWML
HTTP
Dir-X-wap
Dir-X-Servlet LDAP-Client
Server
LDAP/X.500-Directory-Service
LDAP
Server
WML-pages Profiles
WAP Example: Access to enterprise data
28
WAP Example: Access to enterprise data
Example: Siemens Dir-X Meta-Directory Service as a base of a corporate information pool
• software-package consists of Directory Server (Dir-X-Metahub) and several Clients, is completely LDAP v3 compatible, based on X.500
• Two gateways for: Dir-X-Web and Dir-X-wap• secure access also via WAP available, because all security
properties of Directory-Servers are handed-on to mobile user• registration via phone number and password, the authorization
information is stored in user profiles within the system• Java-Servlets implement the kernel components of WAP access
(transformation of requests and results)Dir-X-wap-Server:• Servlet-components implement communication with the Web-Server• LDAP-Client enables data exchange between the Dir-X-WAP-Server
and the directory service
29
WAP-Improvements: WAP2.0 (1)• Oriented towards GPRS and 3G cellular/UMTS• Improvements:
– color graphics and Pictograms– location-specific content, navigational functions and user-friendly
menus– animation representations and streaming media– Multimedia Messaging Service (MMS)– large-file downloading (music)– synchronization of user information with personal information
manager software on a desktop PC at a remote location
Source: http://www.wapforum.org
30
WAP-Improvements: WAP2.0 (2)
• WAP 2.0 builds upon current Internet standards: – XHTML, TCP/IP, HTTP and Transport Layer Security (TLS)– User Agent Profile (UAPROF)
• Application development – Easier development of WAP applications– More comfortable user environment
• Migration aspects– WAP2.0 offers a migration to XHTML (Extensible Hypertext
Markup Language) and TCP (Transmission Control Protocol)– Supporting XHTML, WAP 2.0 reduces development costs,
allowing developers to write applications for both PC and WAP• Security
– offers higher security level due to end-to-end encryption (from the mobile device to the server)
31
WAP 2.0 (3)
ExternalServices
Provisioning
Navigation Discovery
Service Lookup
Crypto-libraries
Authen-tication
Iden-tification
PKI (Public Key Infrast.)
SecureTransport
SecureBearers
ServiceInquiry
Security
WAE User AgentWML, XHTML
PushMMS Content-Formats
App
licat
ion
Fram
ewor
k
Pro
toco
lFra
mew
ork
Datagrams(WDP, UDP)
Connections(TCP with wireless profile)
MMS Messages
Hypermedia Transfer(WTP, WSP, HTTP) Streaming
Synchro-nisation Push CookiesCapability
Negotiation
Bearer 1 Bearer 2 Bearer 3
4
3
2
1
1 – Bearer Layer; 2 – Transport Layer; 3 – Transfer Layer; 4 – Session Layer
32
WAP: Summary• WML does not bring the whole Internet’s diversity to a mobile phone• there are no satisfactory billing models at the moment; the datarates are
too low even with GPRS • limited input and selection possibilities require reconsidering of interaction
semantics, WAP is not suited for many applications, for instance catalogs with a large selection -> PDAs, appliances, voice input and -recognition
• with introduction of data services with higher data-rates WAP could lose its relevance -> XHTML
• however WAP means a first step towards independence from PCs foraccess to Internet content -> multi-dimensional distribution channels for information
• WAP also means access to a large user population (potentially all mobile radio participants)
33
i-Mode: Overview• i-Mode is a product and a trademark of NTT-DoCoMo• NTT-DoCoMo started in the end of the 90s with a
proprietary development: i-Mode, although NTT-DoCoMo is a member of WAP-Forum itself
• Today i-Mode has got a large number of registered users(over 33 million), very successful in Japan
• i-Mode is packet oriented– always online, no time delays to dial-up– billing regarding data volumes and not regarding to
time• simple page markup language – compact HTML
(cHTML)• Migration to XHTML (like WAP 2.0); convergence
Source: http://www.nttdocomo.com
34
compact HTML• Simplified HTML (no frames or tables)• pictures can be displayed only in GIF-format, max. 5 KB per page. GIF-
pictures must not larger than 120*128 dots (little display)• also animated GIFs• 256 colors (capable of Display)• 166 additional pictograms• Compact HTML sites look like “normal” HTML,
therefore also “normal” Browsers like Netscape display them
an i-Mode screenshoti-Mode – on a mobile phone
Fine Heartbreak
35
PDC: Personal Digital CellularTelecommunication System
PDC-P: PDC Packet System
BS: Base Station
IP: Information Provider
M-PGW: Mobile Packet Gateway Module
MS: Mobile Station
M-SCP: Mobile-Service Control Point
NSP: Network Service Provider
PGW: Packet Gateway Module
PPM: Packet Processing Module
i-Mode network architecture
http://www.nttdocomo.co.jp/
IP
IP
i-mode Server
Connection Network[NSP/Corporate LAN]
M-SCP PGW M-PGW
PPM PPM
BS
MS
BS
MS
BS
MS
BS
MS
Internet
PDC-PNetwork
36
i-Mode network architecture• i-Mode Server:
- consists of multiple server systems (B-,C-,M-Max ..),each server system is responsible for special tasks
- represents the contents of „Information Providers“, offers Internet-Mail and i-Mode-Mail, Internet Gateway
• M-PGW (Mobile Message-Packet Gateway Module):transforms the protocols: TCP with i-Mode-Server and TLP (Transport Layer Protocol) with PPM
• PPM (Packet Processing Module):implements the packet connection with the mobile end-devices
• M-SCP (Mobile-Service Control Point):authentication of user data (similar to voice communication)
• PGW (Packet Gateway Module):transition to other networks, for instance to offer a Virtual Private Network (VPN)
37
Java for mobile phones• basis: Java 2 micro edition and Java MIDP
(Mobile Information Device Profile)• downloading of Java-programs
(ca. 30-50 kByte); color representation; applications, also games etc.
• billing via micro-payment of operator (ca. 1-5 € per application)
• products e.g. of Nokia, Ericsson, Siemens; support through big operators