Abstract:
The present invention relates to a method and an arrangement in a data communications system in Internet Protocol (IP) environments. The object of the invention is to achieve a simple way of remote and secure access of a computer to a private data communications network. The solution according to the invention is a Remote Access Login system profiled for accessing the private data communications network via a so-called Pseudo-Connectionless Technology (PCT) device.

Description:
FIELD OF INVENTION  
         [0001]    The present invention relates to a method and an arrangement in a data communications system in Internet Protocol (IP) environments according to the preamble of the independent claims. More specifically it relates to remote and secure access to a data communications network, such as a corporate Intranet, via a so-called Pseudo-Connectionless Technology (PCT) device such as General Packet Radio Service (GPRS).  
         DESCRIPTION OF RELATED ART  
         [0002]    In the very near future, when commercial GPRS and other similar services are introduced, the mobile workforce of corporations, e.g. business executives, consultants, sales persons, delivery fleets, etc., will be able to access their corporate network while on the move in a cost effective manner, as opposed to previous Global System for Mobile Communications (GSM) circuit-switched data that incurred high per minute charges regardless of whether data was actually transmitted. (A list of acronyms will be found in the end of the description.)  
           [0003]    To achieve the remote access several procedures for storage and handling of configuration information and dynamically setting-up communication channels are required  
           [0004]    More specifically the configuration information and dynamic set-up procedures pertain to three distinct areas:  
           [0005]    Data link between a computing device and a mobile data communications device.  
           [0006]    Public communications channels, i.e. data services such as e.g. GPRS, Internet, using the so-called IP protocol suite.  
           [0007]    Secure private communications channels such as Virtual Private Networks (VPN), Authentication services, etc.  
           [0008]    Remote Access to Data Networks.  
           [0009]    So-called ‘dial-up clients’ and ‘connection managers’ enable to automatically configure and manage network connections for computers, e.g. desktop PCs, laptops, Personal Digital Assistants (PDAs), etc. More generally, such software can be embedded inside any consumer or industrial electronic device, e.g. games console, digital camera, vending machine, digital meter etc., that uses an internal or external communication device to access a data network via a different, often public, telecommunications network.  
           [0010]    There are mainly two sorts of software used for remote access to data networks:  
           [0011]    Software for basic dial-up connectivity, and  
           [0012]    software for dial-up managers.  
           [0013]    The first type of software provides the basic components that are required by a computer or integrated communications device to access the Internet using a modem via a public telecommunications network, generally the analogue fixed-wire telephone or a mobile phone service, either analogue or digital. Such software comprises:  
           [0014]    Modem control procedures enabling to dial a phone number to the Internet Service Provider&#39;s (ISP) Point Of Presence (POP), an installation that provides a ‘gateway’ between the telephone network and the Internet via the private network of the ISP, and to subsequently control the connection  
           [0015]    Formatting of data for appropriate transfer over telephone lines using the Point to Point protocol (PPP)  
           [0016]    Basic user authentication mechanisms using standardised, e.g. Password identification Protocol (PAP), Challenge Handshake Authentication Protocol (CHAP), or proprietary algorithms (e.g. Microsoft&#39;s™ MS-CHAP, Shiva&#39;s™ Password identification Protocol (SPAP), RSA&#39;s™ SecurId).  
           [0017]    ‘System’ functions to link the different functions, the data communications protocol stack in the system e.g. Transmission Control Protocol (TCP)/IP and the so-called ‘upper-layer’ applications.  
           [0018]    The second type of software, dial-up managers, builds on the functionality of the first by providing some ‘value-added’ functions, such as:  
           [0019]    Provide statistics and session information to the user such as time spent online, volume of data transferred, status of the communication, network address information, etc.  
           [0020]    Maintaining a list of the telephone numbers for the ISP&#39;s POPs world-wide i.e. a phonebook.  
           [0021]    Manage all communications settings for different locations or services and configure. automatically everything depending on the user&#39;s selected location and service.  
           [0022]    Enable to export or import communications settings. e.g. to enable an IT manager to distribute settings profiles to corporate end-users.  
           [0023]    Mobile Data Technologies  
           [0024]    A wide range of fixed and mobile data communications technologies exists. All these technologies have in common that they are always connected but require some complex set-up information. In the following, these characteristics will be termed ‘pseudo’-connectionless. These technologies have further in common that they use a specalised access network and use dedicated gateways to access the Internet These technologies will further on be termed Pseudo-Connectionless Technologies (PCT).  
           [0025]    One such mobile data communications technology is the so-called GPRS technology. (GPRS) is a telecommunications service which is specially adapted to digital cellular networks such as GSM, Universal Mobile Telecommunications System (UMTS) and Time Division Multiple Access (TDMA), which is the digital mobile services in the US and other markets, that operates in the 800 and 1900 MHz frequency band. GPRS makes use of the packet radio principle and is used to transfer data via e.g. the protocols IP and X.25 from a GPRS terminal to other GPRS terminals or external data networks. GPRS is standardised in European Telecommunication Standardisation Institute (ETSI) (ETSI GSM 09.61, 07.07, 04.60 for GPRS and GSM technologies) and in the third Generation Partnership Project (3GPP), e.g. the 3GPP 23.060 specification. GPRS makes use of a packet data technique to transmit high speed data and low speed data in an efficient way over e.g. GSM radio networks. GPRS optimises the use of network resources and radio resources. A strict separation of the radio subsystems and the network subsystems is obtained which results in that the network subsystems can be reused by other radio access technologies.  
           [0026]    GPRS consequently is a packet switched data service which gives a mobile high speed transmission of data with efficient use of the available bandwidth. In theory it can achieve transmission rates up to several 100 kb/s. With a third generation air interface, such as Wideband Code Division Multiple Access (WCDMA) as in the global UMTS standard raw data throughput can go up to 2000 kb/s, as compared with 9.6 kb/s which GSM can deliver today. Data transmission via GSM can be realised in two different ways, circuit switched as in voice transmissions of today or packet switched as in GPRS.  
           [0027]    However, other fixed or mobile data communications technologies, can fulfil a similar ‘bearer’ role and share some characteristics with GPRS, such as they are ‘pseudo-connectionless’, use a specialised dedicated access network and dedicated gateways to access the Internet One example is Cellular Digital Packet Data (CDPD) which refers to the standardised technology “Telecommunications Industry Association (TIA) TR-45.6 (IS-732 and IS-732A) for CDPD” A similar but fixed-line pseudo-connectionless technology is Asymmetric Digital Subscriber Line (ADSL).  
           [0028]    Dial-up software requires to be adapted to the pseudo-connectionless characteristics of these technologies and to incorporate configuration parameters and session set-up procedures specific to these technologies.  
           [0029]    Current implementations re-use existing software developed for Public Switched Telephone Network (PSTN) dialup and use tricks to manage the GPRS connection from a computing device. This will be described later on.  
           [0030]    Remote Access Virtual Private Network (VPN) Software.  
           [0031]    Secure networking covers three areas:  
           [0032]    Authentication: These are techniques that enable to ensure that both ends of the session, the user and the remote network access server, are really who they say they are. This is achieved in a number of ways, but generally requires the user to provide some input, e.g. a password, a smart card etc., and the machines to perform some cryptographic treatment, e.g. hash functions. Password Authentication Protocol (PAP), Challenge Handshake Authentication Protocol (CHAP), Extensible Authentication Protocol (EAP), Message Digest algorithm number 5 (MD-5) and Public Key Infrastructure (PKI) are examples of standard authentication techniques that exists in the market.  
           [0033]    Encryption: Using a previously agreed encryption algorithm, machines can scramble the data they exchange so that they can detect any attempt to tamper with it, and ensure end-to-end confidentiality. This however generally requires the two machines to have an identical set of cryptographic material or keys to seed the encryption algorithm. There is a number of encryption algorithms such as Data Encryption Standard DES), 3-DES, Blowfish, Carlisle Adams and Stafford Tavares (CAST), International Data encryption&#39;Standard (IDEA), Rons Code RC-40/128) etc., and a number of key exchange mechanisms such as Internet Key Exchange (IKE), Diffie-Hellman, Rivest Shamir and Aldeman&#39;s (RSA) public key encryption algorithm, etc., with various parameters, that users can choose from.  
           [0034]    Tunnelling or Virtual Private Networks (VPNs): Lastly, private networks, e.g. corporate, require to be isolated from the public Internet. However, remote mobile users communicate via a public network, in general the Internet Therefore, secure networking requires a protocol that hides the fact that traffic between the private ‘islands’ goes through the public Internet ‘ocean’, illustrated in FIG. 1. This is necessary because outgoing traffic from a local computer  100  within a private network  101  to a remotely-connected computer  102  must go through a dedicated security gateway  103 , e.g. a VPN router, that applies cryptographic treatment to the data traffic.  
           [0035]    To achieve this, a so-called ‘tunneling protocol’ is required. This protocol gives the illusion that a remote computer  102  is directly connected to the private network  101 . It avoids local machines sending data in clear via an un-secure public gateway  104  when they reply to a remote computer. Instead data to the remote computer is intercepted by the secure gateway  103 , e.g. using proxy Address Resolution Protocol (ARP), optionally encrypted, then ‘encapsulated’, and finally routed via the Internet  105  to the remote computer  102 . This secured private data traffic is indicated in FIG. 1 with a broken line  106 .  
           [0036]    Again, there is a range of protocols that users can choose from, each with their own particularities and requiring specific configuration data. Internet Engineering Task Force (IETF) standards such as Secure IP (IPSec), Layer 2 Tunneling Protocol (L2TP), General Routing Encapsulation (GRE), etc. are examples of such protocols.  
           [0037]    Commercial secure VPN client software generally comprises two components:  
           [0038]    A kernel-mode driver that is installed in the machine&#39;s operating system and intercepts all network traffic and performs the appropriate transforms such as packet header formatting, checksums, sequence numbering, encryption etc.  
           [0039]    A user-mode configuration tool that enables to set the parameters for the particular VPN protocol driver and set the security policy, e.g. which traffic should be secured, in what conditions, using which techniques, etc.  
           [0040]    Typical Usage Scenario with Current Techniques  
           [0041]    In the very near future, when commercial GPRS and similar services are introduced, a mobile workforce of a corporation that requires to access its corporate network while on the move will face two challenges:  
           [0042]    Perform the installation and configuration of the appropriate software and communication parameters, and  
           [0043]    launch several applications and perform several login procedures every time they want to access their remote corporate network  
           [0044]    Below is an overview of the required installation and configuration steps with current techniques:  
           [0045]    1. Install and configure a modem in the PC, maybe using some additional drivers and/or scripts provided by the GPRS handset manufacturer.  
           [0046]    2. Define one or several Packet Data Protocol (PDP) context This can be achieved in several ways such as:  
           [0047]    Static configuration by handset factory settings.  
           [0048]    Defined by GPRS operator at service provisioning time by Subscriber Identity Module (SIM) activation, or over-the-air activation.  
           [0049]    Direct manual keying of the PDP context data in the handset by using menus.  
           [0050]    Through the PC by entering GPRS-specific standard initialisation commands like ‘AT+CGDCONT=0,IP,internet.gprs.telia.se,,0,1’ (PDP context definition) in the parameters of the modem or using a HyperTerminal™ session and communicating the parameters to the handset through the PC&#39;s serial port.  
           [0051]    This PDP definition step could also be performed at session setup time (see next sub-section).  
           [0052]    3. Configure a username and password in the handset. This is optional and again this may be achieved in several ways:  
           [0053]    Manual keying-in of these authentication credentials  
           [0054]    Factory setting by the GPRS handset manufacturer.  
           [0055]    Set by the GPRS operator during the service provisioning procedure, e.g. SIM card activation, over-the-air activation.  
           [0056]    4. Create and configure a dial-up networking connection with a GPRS ‘service string’ in the form of ‘*98**#’ in place of the phone number. This is a so-called ‘modem compatibility’ trick to be able to use existing dial-up software.  
           [0057]    5. Install the VPN software, e.g. from a Compact Disk (CD), and then configure the appropriate addressing and authentication options, which may imply installing and configuring additional software, e.g. RSA&#39;s SecurID, importing a digital certificate.  
           [0058]    When a user wants to access a network, e.g. his/her corporate network, using the GPRS service, the procedure below is currently followed:  
           [0059]    1. Physically link the PC and the handset, e.g. by using a serial cable, or by activating the infrared link on the handset.  
           [0060]    2. Optionally, launch a GPRS-specific software or script to perform step 2 above (PDP context definition) and select the PDP context to be activated.  
           [0061]    3. Launch the dial-up software. This activates the PDP context.  
           [0062]    4. Enter a username and password if prompted. These are the ones that were set in step 3 above.  
           [0063]    5. Wait for connection set-up, then launch the VPN software.  
           [0064]    6. Enter authentication credentials if prompted, e.g. username/password, smartcard/Personal Identification Number (PIN) code.  
           [0065]    As can be seen in the ‘Typical Usage Scenario’ above, installation and session set-up can be fairly complex and constitute a barrier to the initial take-up by corporate users and further mass-usage of GPRS services.  
           [0066]    Notably, the configuration requires a lot of manual keying-in of information in the handset and manual software configuration in numerous places of the operating system and dial-up/VPN software. This requites an in-depth technical knowledge that most end users will not have.  
           [0067]    Also, the session set-up procedure requires the user to launch different applications and multiple username/password entries, as well as optionally running a script of some sort to configure the specific GPRS session parameters (PDP context data). This is time consuming and requires an in-depth technical knowledge that most end users will not have.  
           [0068]    Moreover, the current way of configuring and setting up such GPRS remote access is not flexible and does not enable to take advantage of future capabilities of e.g. GPRS terminals such as multiple PDP context support roaming using a ‘visited’ Access Point Name (APN), alternative ISP support and quality of service options.  
           [0069]    Mainly, this is due to the fact that the PDP context data is either configured in the handset or using modem init commands. Because of this, depending on PC operating system and GPRS handset capabilities, only one set of PDP context information can be stored, or supporting several ones is cumbersome.  
           [0070]    To summarise, drawbacks with the current remote access to a private data communications network, via a PCT device, are that the management of PCT session parameters (e.g. GPRS PDP context) lacks flexibility.  
         SUMMARY OF THE INVENTION  
         [0071]    The object of the invention is to overcome the above mentioned drawbacks and provide a way of remote and secure access to a private data communications network, via a PCT device, that is further facilitated for the user.  
           [0072]    This is achieved according to the method and arrangement set forth in the characterising parts of the independent claims.  
           [0073]    Thanks to the provision of the Remote Access Login system, the information and instructions, needed for secure networking session configuration and set-up, are brought together in a single interface, and thanks to the provision of the remote access login method, a single connect activity by a user will perform the remote and secure access.  
           [0074]    Preferred embodiments are set forth in the dependent claims.  
           [0075]    An advantage of the present invention is that the procedures for session set-up are shorter and require less user intervention.  
           [0076]    Another advantage of the present invention is that the configuration becomes easier.  
           [0077]    A further advantage of the present invention is that the flexible PDP context management enable usage scenarios that are not straightforwardly possible using current software, such as obtaining GPRS services when roaming using a so-called “visited APN”, easily changing Quality of service parameters e.g. when using different handsets, accessing another Internet Service Provider service than the one provided by default in the handset. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0078]    [0078]FIG. 1 shows a block diagram of a communications system according prior art  
         [0079]    [0079]FIG. 2 shows a block diagram of involved software components according to the invention.  
         [0080]    [0080]FIG. 3 shows a flowchart of the method according to the invention.  
         [0081]    [0081]FIG. 4 shows signalling sequences according to the invention.  
     
    
     DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0082]    The present invention can be described in short as a dial-up remote access ‘dialler’ integrated with a secure VPN client and with features for the support of so-called Pseudo-Connectionless Technology (PCT) devices and services such as GPRS devices and services, as well as an enhanced user interface for greater usability. The invention, comprising software logic and software components, is implemented in a computer, e.g., a Personal Computer (PC)—a desktop or a laptop, a Personal Digital Assistant (PDA) or any industrial or consumer electronic device with communications or interfacing capabilities, and is from now on called the Remote Access Login (RAL) system.  
         [0083]    [0083]FIG. 2 illustrates an overview of the software components involved in a secure GPRS remote access client according to the present invention. The RAL software components according to the present invention is represented by  201  and the rest of the software components in FIG. 2 are prior art. Dashed lines represent configuration data flow, thick solid lines represent the path taken by ‘user’ datagrams from upper layer applications through the kernel components towards the GPRS handset Microsoft&#39;s Windows™ operating system is used as an example, but the present invention is also applicable together with other operating systems such as Mac™ OS, Palm™ OS, EPOC™, etc.  
         [0084]    The vertical areas in the figure represent the user mode  202 , the kernel mode transport drivers  203  and the kernel mode Network Driver Interface Specification (NDIS) drivers  204  and are separated by horizontal dash-dotted lines.  
         [0085]    The software components involved are, starting from the lower layer, the kernel mode NDIS drivers  204  are the Asynchronous/Serial Port Drivers  205 , the Network Driver (ND) Proxy  206 , the so-called dial-up adapter, PPP NDIS Wide Area Network (WAN)  207 , the virtual 802.3 adapter (using the Ethernet (IEEE 802.3 specification))  208 , the Point to Point Tunnelling Protocol/Layer 2 Tunnelling Protocol (PPTP/L2TP) component  209  with a virtual adapter  218 , and two instances of a 3rd Party IPSec driver  210  and its virtual adapter  211 . This 3rd Party IPSec is an NDIS driver provided by an independent software vendor. The virtual adapter  211 , fulfils a similar role as the previously mentioned 802.3 virtal adapter  208 . When functioning in the so-called ‘tunnel mode’ the second instance of the 3rd-party IPSec driver must resemble a Network Interface Card (NIC) from the point of view of the first instance of the 3rd-party IPSec driver.  
         [0086]    Involved software components in the kernel mode transport drivers  203 , are the Microsoft™ IPSec  212  and the Transmission Control Protocol/Internet Protocol (TCP/IP) protocol driver  213  and the UNImodem  217 .  
         [0087]    Involved software components in the user mode  202  are the Telecommunication Application Programming Interface (TAPI)  214 , the Remote Access Service (RAS)  215  and the upper layer application  216 , e.g. a web browser.  
         [0088]    The user mode  202  further comprises the RAL system  201 , i.e. the software components according to the present invention, which now will be described more in detail.  
         [0089]    Starting from the lower layers, these user mode  202  components mainly include:  
         [0090]    Application Programming Interface (API) to GPRS  220  and API to VPN  221  devices. In order to support devices that are non-standard for the operating system, the RAL system comprises components APIs that enable to abstract a generic behaviour of these devices for the other, upper, software components. This generic behaviour is embodied by a standard set of commands for each of the GPRS device and the VPN device that will be sent by the upper layer components and translated into device- or system-specific signals indicated with arrows  222  and  223  to the appropriate underlying kernel devices.  
         [0091]    If required, a set of RAS functions  224  for VPNs and GPRS, because of possible limitations of the operating system. These components enable to perform specific session set-up procedures that are not covered by existing software, e.g. specific GPRS functions such as PDP context definition.  
         [0092]    A user Profiles Database  225 . The RAL system  201  maintains a database containing all the data relevant to the end-to-end chain of configuration data that is required by the different software components outside the RAL system  201 , to set-up a secure mobile data connection. It notably enables to flexibly manage PDP context data. Where appropriate, the data will be passed to components outside of the RAL system, e.g. to the RAS for the dial-up parameters such as phone numbers etc.  
         [0093]    Genetic APIs are in two forms:  
         [0094]    Platform APIs  226  which provide support for multiple Operational System platforms, e.g. Windows™, Palm™, EPOC™, Mac™ etc., and are only relevant in the context of software code implementation.  
         [0095]    Plugin APIs which are a set of public commands and parameters that the RAL understands or generates for the support of standalone plugins  229 .  
         [0096]    The processing core  227  is the controlling part of the RAL system  201 . It translates user input, such as text, numbers, mouse clicks, etc., taken from the Graphical User Interface (GUI)  228 , into signals to the appropriate underlying components and co-ordinates and triggers the different procedures according to the appropriate logic, e.g. define a PCT session PDP context, passing the session context to the PCT device, trigger the set-up of a dial-up connection, then set-up the VPN connection.  
         [0097]    The GUI  228  of the RAL system brings together in the same application all the necessary interfaces for the configuration and set-up of a networking session over pseudo-connectionless bearers, e.g. GPRS, or standard dial-up bearers, e.g. PSTN, Integrated Services Digital Network (ISDN).  
         [0098]    An example of a GUI of the RAL system comprises a genetic control window, enabling session management and giving access to ‘session profiles’ for the three layers involved in mobile secure networking, VPN, GPRS (PDP), mobile device (modem dial-up). An expanded bottom frame comprises the particular configuration settings of the selected profile. An information element enables to link the three layers together, thus enabling to automate the set-up for a particular end-to-end session.  
         [0099]    As an add-on to main RAL system  201 , several standalone plugin modules  229  can communicate with the RAL  201  via a generic API part of  226  to perform value-added functions that make use of special characteristics or functions of the PCT connection or PCT device. In the case of GPRS, such a plugin module  229  could for instance be a meter that records the volume of data transferred and translates it into the amount of money that the user will have to pay the GPRS operator (the latter charges usage per unit of data volume transferred), the amount of money is then displayed in real-time towards the user, via a GUI implemented in the plugin software code  229  independent of the main RAL system  201 . The principles of such plugins is that they are completely autonomous and rely only on the API  226 .  
         [0100]    [0100]FIG. 3 shows a flowchart of the set-up of a remote and secure access session from a computer, comprising the software logic and software components of the RAL system, to a private data communications network, via a so-called Pseudo-Connectionless Technology (PCT) device, e.g. General Packet Radio Service (GPRS) device.  
         [0101]    The method includes the following steps:  
         [0102]    [0102] 301 . A user of the computer performs one single connect activity, e.g. a mouse click, which automatically triggers the RAL system to perform the following steps:  
         [0103]    [0103] 302 . Defining a PCT session Packet Data Protocol (PDP) context, comprising pseudo-connectionless characteristics of a PCT session.  
         [0104]    [0104] 303 . Passing the defined session context to the PCT device.  
         [0105]    [0105] 304 . Triggering the set-up of a dial-up connection, and  
         [0106]    [0106] 305 . Triggering the establishment of a secure Virtual Private Network (VPN) session.  
         [0107]    The method is implemented by means of a computer program product comprising the software code portions for performing the steps of the method. The computer program product is run on the computer.  
         [0108]    The computer program is loaded directly or from a computer usable medium, such as floppy-disc, CD, Internet etc.  
         [0109]    The Required Installation and Configuration of the RAL System.  
         [0110]    In these examples the PCT used is GPRS.  
         [0111]    A modem shall be installed and configured in a computer, maybe using some additional drivers and/or scripts provided by the GPRS handset manufacturer (as described above in the ‘description of related art’ part).  
         [0112]    The user installs the RAL system software in the computer.  
         [0113]    The user configures pseudo-connectionless session profiles, with all the Information Elements (IEs) necessary for the set-up of the end-to-end secure mobile networking session. The RAL provides a single window to access all the relevant IEs. Two possible methods are:  
         [0114]    1. The user creates a profile and fills it in using information provided by the GPRS operator or corporate IT department.  
         [0115]    2. The user performs a single-click configuration by importing a configuration file distributed by the GPRS operator or a corporate IT department.  
         [0116]    Optionally, configure authentication credentials in the handset if these cannot be configured using the RAL system because of GPRS handset limitations.  
         [0117]    The Session Set-Up According to the RAL System.  
         [0118]    When a user of a computer wants to access their corporate network via the GPRS service using the RAL system the procedure below will be followed:  
         [0119]    The user physically links the Computer and the handset, either using a serial cable, or by activating the infrared link on the handset, as described under description of related art, above.  
         [0120]    The user launches the software for the RAL system, optionally, the RAL system can be automatically launched when staring the computer, and  
         [0121]    clicks with a cursor on an connect icon within the GUI, or equivalent GUI widget, e.g. press the enter button on a keypad that acts on the computer. Future technologies may enable other interface metaphors, e.g. voice command, eye movement, etc.  
         [0122]    The diagram in FIG. 4 outlines what happens in the network after the user clicks ‘connect’. The involved networks are the GPRS Public Land Mobile Network (PLMN) backbone  420 , the Public Internet  430  and the Private IP Network  440 . The process can be divided in the four main parts:  
         [0123]    [0123] 302 . Defining a GPRS session Packet Data Protocol (PDP) context, comprising pseudo-connectionless characteristics of a GPRS session.  
         [0124]    [0124] 303 . Passing the defined session context to the GPRS device.  
         [0125]    [0125] 304 . Triggering setting-up of a dial-up connection by activating PDP context, and  
         [0126]    [0126] 305 . Triggering establishing of a secure Virtual Private Network (VPN) session  
         [0127]    After the user clicked ‘connect’, the RAL system software, comprised in the computer  401  will first pass on a message  402  to the GPRS device  403 , the message  402  comprising the GPRS session parameters that were configured when the session profile was created. These parameters define the pseudo-connectionless characteristics of the GPRS session, and form the so-called ‘PDP context’.  
         [0128]    These parameters are e.g. PDP Type, Access Point Name (APN), compression options, IP address and quality of service options. All these parameters are optional in a PDP context definition message. Where they are not explicitly set, they can be set later by either the computer  401  during the PPP negotiation phase  405 , provided by the GPRS network at the Home Location Register (HLR) query step  407 , or by default setting in the handset  403 .  
         [0129]    With current GPRS terminals the message  402  is passed using a standard AT command, sent to the terminal via a PC peripheral interface such as e.g.  
         [0130]    a serial port,  
         [0131]    a parallel port,  
         [0132]    a Personal Computer memory Card International Association (PCMCIA) interface,  
         [0133]    a computing bus, e.g. Micro Channel Architecture (MCA), Industry Standard Architecture (ISA), Enhanced ISA (EISA), Video Electronics Standards Association local bus (VESA), Peripheral Component Interconnect (PCI), mini-PCI, Small computer System Interface (SCSI), Fibre Channel, Serial Bus Protocol with IEEE 1394 Firewire physical layer,  
         [0134]    a Universal Serial Bus (USB) port,  
         [0135]    an Infrared Data Association (IrDA) interface,  
         [0136]    Bluetooth short-range radio interface.  
         [0137]    Then, the software logic of the RAL system  401  calls the dial-up capabilities of the Operating System it resides on. For Windows™ 98, NT or 2000, this makes use of functions provided by the Remote Access Service (RAS) component. Alternatively, the said operating system can be any of the ones in existence, such as Palm™, EPOC™, Mac™, Linux™, unix™; in which case the said dial-up capabilities make use of functions provided by OS functions equivalent to the RAS or functions provided by independent 3 rd -party software.  
         [0138]    The parameters that are passed to the RAS are dial-up parameters, e.g. authentication protocol address allocation policy, compression etc. and authentication credentials which are used optionally for the GPRS non-transparent access case.  
         [0139]    In Windows™, the software logic of the RAL system writes the dial-up parameters in a system file, a so called phonebook, that is then read by the RAS when it performs the dial-up connection procedure. The software logic of the RAL system also indicates the RAS in which file to read when it Triggers the RAS dial-up. This file also contains, hard coded, the service string, i.e. phone number, for GPRS, e.g. *98**1#.  
         [0140]    The authentication credentials are put in an ‘opaque’ memory (Random Access Memory (RAM) location by the software logic of the RAL system, where they will later be retrieved by the RAS using standard Operating System (OS) functions. A pointer to this location is passed to the RAS.  
         [0141]    Once the RAS is launched, it performs the following operations without the involvement of the software logic of the RAL system:  
         [0142]    Send a ‘Dial’ command  404  to the GPRS device  403  with the GPRS ‘service string’. Enter the so-called ‘PPP negotiation phase’  405 , (terminated by  414 ) which itself comprises three consecutive steps:  
         [0143]    1. PPP Link Control Protocol (LCP): the computer  401  and the GPRS device  403  exchange several messages to negotiate link parameters e.g. Maximum Receive Unit MRU), Authentication Protocol.  
         [0144]    2. PPP Authentication: Optionally, the RAS component  215  in the computer  401  retrieves the authentication credentials from RAM and passes them on to the GPRS phone  403 .  
         [0145]    3. PPP Network Control Protocol (NCP)/IP Control Protocol (IPCP): the RAS requests certain IP network parameters (as per the requirements passed by the RAL system) in a ‘PPP IPCP configuration request’ message. These parameters comprise e.g. IP address allocation policy, name servers, end-to-end compression, etc.  
         [0146]    This third step in turn triggers the GPRS handset  403  to initiate  406  a PDP context activation procedure with the Serving GPRS Support Node (SGSN) in the GPRS network. This ‘Activate PDP Context Request’ message  406  contains the APN and optionally the authentication credentials.  
         [0147]    The PPP IPCP configuration phase will terminate when the GPRS network acknowledges the end of the PDP context activation procedure  413 . The handset will then return to the computer  401  a ‘PPP IPCP configuration acknowledgement’  414 , which notifies the RAS of the end of the session set-up. The control focus then returns to the RAL system.  
         [0148]    Depending on the service scenario, the PDP context activation procedure inside the GPRS network will be more or less complex.  
         [0149]    Several combinations of cases are possible here, e.g. Transparent or Non-Transparent case and Roaming or non-roaming case.  
         [0150]    The behaviour of the network is determined by the APN that is passed on to the Serving GPRS Support Node (SGSN) and Gateway GPRS Support Node (GGSN) at PDP context activation time. This is independent of the RAL system. Based on the APN, it is the SGSN that determines the behaviour with respect to roaming, the SGSN then establishes a GPRS Tunnelling Protocol (GTP) tunnel and passes on the APN to the GGSN which determines the behaviour with respect to access transparency.  
         [0151]    For instance, in the most complicated case which is the non-transparent roaming access:  
         [0152]    The SGSN will query  407  the HLR to check the PDP context activation parameters with the subscriber records, thus enabling to prevent fraudulent usage and to fill in the optional parameters that may have not been defined previously.  
         [0153]    The SGSN will query  408  the Domain Name Service (DNS) for the APN.  
         [0154]    The DNS returns an IP address for the GGSN to use, i.e. the home GGSN or a GGSN on the visited network depending on the operator&#39;s roaming policy implemented in the DNS.  
         [0155]    The SGSN sends a ‘Create PDP Context Request’ message  409  containing the APN and the authentication credentials to the GGSN.  
         [0156]    Based on the APN, the GGSN determines that it has to perform a non-transparent access procedure. Therefore it contacts a server  410  on the private corporate network (e.g. Remote Authentication Dial-In User Service RADIUS) and/or Dynamic Host Configuration Protocol (DHCP) to get an IP address that it allocates to the Mobile Station that activated the PDP context in the first place  411 .  
         [0157]    The GGSN returns a ‘create PDP context accept’ message  412  containing the IP address it allocated to the GPRS handset  403  and the computer  401 .  
         [0158]    The SGSN passes on this message to the GPRS handset  403  in an ‘Activate PDP context response’ message  413 .  
         [0159]    The GPRS handset  403  generates a PPP IPCP configuration acknowledgement message  414  that it passes on to the RAS in the computer via e.g. the serial or infrared link This message  414  comprises the IP settings.  
         [0160]    Once the RAS receives this PPP IPCP configuration acknowledgement message  414 , it configures the computer  401 &#39;s. Operating System&#39;s TCP/IP stack correctly and binds it with the low level NDIS drivers for dial-up NDISWAN—see FIG. 2.  
         [0161]    The RAS then generates a response towards the RAL system software to acknowledge that the GPRS connection was successfully set-up.  
         [0162]    In cases where VPN components shall be used, as indicated in the user-defined profile, the RAL system then triggers the next step, the necessary procedures to establish a secure VPN session.  
         [0163]    For instance, based on the user configuration parameters it stores, the RAL system selects a VPN device e.g. Microsoft™ IPSec  212  in FIG. 2, and Microsoft™ L2TP  209 , or a 3 rd -party IPSec driver  210 , and passes on, either via the RAS  215  or directly  223 , the additional parameters required such as VPN gateway name or IP address, authentication protocol, pointer to authentication credentials, e.g. digital certificates or username/password, which may have been defined using the RAL system.  
         [0164]    The VPN software will then perform the necessary steps to establish the secure connection by negotiating bulk encryption keys with the VPN gateway  415 , by using IPSec&#39;s Internet Key Exchange (IKE) protocol  416 , then establish the VPN tunnel, e.g. L2TP  417  and authenticate the user  418 , which may involve optionally a RADIUS/Authentication, Authorisation, Accounting (AAA) query  419 .  
         [0165]    The invention is not limited to the above described embodiments. Various alternatives, modifications and equivalents may be used. Therefore, the above embodiments should not be taken as limiting the scope of invention, which is defined by the appendant claims.  
                                         Acronyms                                3GPP   Third Generation Partnership Projec       AAA   Authentication, Authorisation, Accounting, by extension the suite of           IETF protocols to perform these functions.       ADSL   Asymmetric Digital Subscriber Line       API   Application Programming Interface       APN   Access Point Name       ARP   Address Resolution Protocol       CAST   Carlisle Adams and Stafford Tavares       CD   Compact Disk       CDPD   Cellular Digital Packet Data       CHAP   Challenge Handshake Authentication Protocol       DECT   Digital Enhanced Cordless Telephone       DES   Data Encryption Standard       DHCP   Dynatnic Host Configuration Protocol       DNS   Domain Name Service       EAP   Extensible Authentication Protocol       EISA   Enhanced ISA       ETSI   European Telecommunications Standards Institute       GGSN   Gateway GPRS Support Node       GPRS   General Packet Radio Service       GRE   Generic Routing Encapsulation       GSM   Global System for Mobile communications       GTP   GPRS Tunnelling Protocol       GUI   Graphical User Interface       HLR   Home Location Register       IDEA   International Data Encryption Algorithm       IE   Information Element       IETF   Internet Engineering Task Force       IKE   Internet Key Exchange       IP   Internet Protocol       IPSec   Secure IP (IETF)       IPCP   IP Control Protocol       IrDA   Infrared Data Association       ISA   Industry Standard Architecture       ISDN   Integrated Services Digital Network       ISP   Internet Service Provider       L2TP   Layer 2 Tunnelling Protocol (IETF)       LCP   Link Control Protocol       MCA   Micro Channel Architecture       MD-5   Message Digest algorithm number 5       MRU   Maximum Receive Unit       MS-CHAP   Microsoft CHAP       MSC   Mobile Switching Centre       NCP   Network Control Protocol       ND   Network Driver       NDIS   Network Driver Interface Specification       NIC   Network Interface Card       OS   Operating System       PAP   Password Authentication Protocol       PC   Personal Computer       PCI   Peripheral Component Interconnect       PCMCIA   Personal Computer Memory Card International Association       PCS   Personal Communications System       PCT   Pseudo Connectionless Technology       PDA   Personal Digital Assistant       PDP   Packet Data Protocol       PIN   Personal Identification Number       PKI   Public Key Infrastructure       PLMN   Public Land Mobile Network       POP   Point Of Presence       PPP   Point to Point Protocol       PPTP   Point to Point Tunnelling Protocol (Microsoft)       PSTN   Public Switched Telephone Network       QoS   Quality of Service       RADIUS   Remote Authentication Dial-In User Service       RAL   Remote Access Login       RAM   Random Access Memory       RAS   Remote Access Server       RC   Ron&#39;s Code       RC-40/128   RC with 40 bits or 128 bits key       RSA   Rivest Shamir and Aldeman&#39;s public key encryption algorithm or           eponymous company specializing in security software.       SCSI   Small Computer System Interface       SGSN   Serving GPRS Support Node       SIM   Subscriber Identity Module       SPAP   Shiva&#39;s Password Authentication Protocol       TCP   Transmission Control Protocol       TIA   Telecommunications Industry Associations       UI   User Interface       UMTS   Universal Mobile Telecommunications System       USB   Universal Serial Bus       VESA   Video Electronics Standards Association local bus       VPN   Virtual Private Network       WAN   Wide Area Network       WCDMA   Wideband Code Division Multiple Access