NO326342B1 - Method and arrangement for automatic service delivery, licensing and configuration of client software - Google Patents

Method and arrangement for automatic service delivery, licensing and configuration of client software Download PDF

Info

Publication number
NO326342B1
NO326342B1 NO20054840A NO20054840A NO326342B1 NO 326342 B1 NO326342 B1 NO 326342B1 NO 20054840 A NO20054840 A NO 20054840A NO 20054840 A NO20054840 A NO 20054840A NO 326342 B1 NO326342 B1 NO 326342B1
Authority
NO
Norway
Prior art keywords
client
server
user
license
request
Prior art date
Application number
NO20054840A
Other languages
Norwegian (no)
Other versions
NO20054840L (en
NO20054840D0 (en
Inventor
Frode Beckmann Nilsen
Haakon Bryhni
Thomas Horsten
Trond Lunde
Otto Andreas Rustand
Original Assignee
Birdstep Tech Asa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Birdstep Tech Asa filed Critical Birdstep Tech Asa
Priority to NO20054840A priority Critical patent/NO326342B1/en
Publication of NO20054840D0 publication Critical patent/NO20054840D0/en
Priority to PCT/NO2006/000325 priority patent/WO2007046706A1/en
Publication of NO20054840L publication Critical patent/NO20054840L/en
Publication of NO326342B1 publication Critical patent/NO326342B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

Kjent teknikk. Known technique.

En publikasjon utgitt av Microsoft Corporation, i juni 2004, med oppdatert utgave 2005, som bærer tittelen "IEEE 802.11 Wireless LAN Security with Microsoft Windows XP" beskriver sikkerhet i trådløse nettverk med hensyn til forskjellige teknikker. Der angis at selv om trådløse ELAN-nett gir bevegelsesfrihet, kan de også kreve at brukeren tar hensyn til sikkerhetsspørsmål som ikke er så fremtredende på et privat kabelsystem for entrådkoplet ELAN-teknikk slik som internert Hoveo^ikkerhetsspørernålene er autentiseringen av trådløse klienter og krypteringen og dataintegriteten til rammer på trådløse ELAN. Særlig beskrives på sidene 1-13 en såkalt "EAP-TLS authentication". Under punkt 9 finner man overskriften "EAP success from the radio server", hvor det gis en beskrivelse av hvordan nøklingen fra server mot aksesspunktet foregår. A publication published by Microsoft Corporation, in June 2004, with updated edition 2005, entitled "IEEE 802.11 Wireless LAN Security with Microsoft Windows XP" describes security in wireless networks with respect to various techniques. It states that although wireless ELAN networks provide freedom of movement, they may also require the user to take into account security issues that are not as prominent on a private cable system for single-wire ELAN technology such as internal Hoveo^the security probes are the authentication of wireless clients and the encryption and the data integrity of frames on wireless ELAN. In particular, a so-called "EAP-TLS authentication" is described on pages 1-13. Under point 9 you will find the heading "EAP success from the radio server", where a description is given of how the keying from the server to the access point takes place.

I publikasjonen med tittelen "Deploying Wi-Fi Protected Access (WPA™) and WPA2™ in the Enterprise", utgitt av Wi-Fi Alliance, i mars 2005, beskrives implementering av sikkerhetsløsningen WPA og WPA2 irm i eksisterende trådløse nettverk. Særlig beskrives på sidene 7-9 nøklingen med såkalte symmetriske siffernøkler av brukerens identifisering, lagring av informasjon slik som brukeridentitet, som i denne publikasjonen omtales som "akkreditiver" (tilsvarer det engelske begrepet "credentials"). In the publication entitled "Deploying Wi-Fi Protected Access (WPA™) and WPA2™ in the Enterprise", published by the Wi-Fi Alliance, in March 2005, the implementation of the security solution WPA and WPA2 irm in existing wireless networks is described. In particular, pages 7-9 describe the keying with so-called symmetric numeric keys of the user's identification, storage of information such as user identity, which in this publication is referred to as "credentials" (equivalent to the English term "credentials").

Introduksjon Introduction

Den foreliggende oppfinnelsen (se figur 1 for en oversikt) muliggjør en bruker-spesifikk tjeneste, som en tjeneste bygget rundt en mobil terminal (100) med en klientprogramvare (som f.eks. Mobil IP), til å virke spesifikt med en tilhørende server-infrastruktur (101,102) ved hjelp av en leveransetjener (103). Det overordnede designmålet er å minimalisere de nødvendige tilpasninger på klienten og gi så mye som mulig av kontrollen til serversiden. Tjenesten er utformet for å virke med et vilkårlig klientoperativsystem. The present invention (see Figure 1 for an overview) enables a user-specific service, such as a service built around a mobile terminal (100) with a client software (such as Mobile IP), to work specifically with an associated server infrastructure (101,102) using a delivery server (103). The overall design goal is to minimize the necessary customizations on the client and give as much control as possible to the server side. The service is designed to work with any client operating system.

En grunnleggende forutsetning er at klienten som standard er bundet til den bruker-spesifikke tjenesten ved installasjon av programvaren. Det er et konfigurabelt antall dager med kostnadsfri prøvetid for denne tjenesten etter initiell aktivering. Etter at prøvetiden er utløpt, dirigeres brukeren til en betalingstjeneste (104) der hun eller han gis muligheten til å fortsette tjenesten ved å akseptere en avgift, betalt med kredittkort eller ved andre midler. Ved å betale får brukeren en full programvarelisens. Utstyrt méd en full programvarelisens kan brukeren benytte klienten med en brukerspesifikk tj enesteleverandør. A basic prerequisite is that the client is by default bound to the user-specific service when installing the software. There is a configurable number of days of free trial for this service after initial activation. After the trial period has expired, the user is directed to a payment service (104) where she or he is given the option to continue the service by accepting a fee, paid by credit card or by other means. By paying, the user receives a full software license. Equipped with a full software license, the user can use the client with a user-specific ie sole supplier.

Systemet er administrert via et standardwebgrensesnitt som er tilgjengelig for en personlig administrasjonsdatamaskin (105). The system is managed via a standard web interface accessible to a personal management computer (105).

Merk at tjenestekonseptet kan betraktes i en generell sammenheng. Klienten kan motta lisenser fra en aktør og tjenesteleveranse fra en annen aktør. Note that the service concept can be considered in a general context. The client can receive licenses from one actor and service delivery from another actor.

Lisens policy License policy

Konstruksjonen av den bruker-spesifikke tjenesten avhenger av lisensierings-policy for tjenesten. Policy som velges er basert på de følgende tre fundamenter: 1. En klientprogramvarelisens er alltid assosiert med et tjenesteabonnement. I prøveperioden er det en 1:1 forbindelse, dvs. at klienten kan bare brukes med den bruker-spesifikke tjenesten. Dersom abonnementet er fornyet ved betaling, og en full programvarelisens er godkjent, er det en 1 :n forbindelse. Det betyr at klienten kan brukes med en vilkårlig tjenesteleverandør. Imidlertid er klienten fortsatt forbundet med den bruker-spesifikke tjenesten når det gjelder lisenshåndtering. Dersom brukeren reinstallerer klientprogramvaren, på den samme terminalen eller en annen terminal, vil den lokalt lagrede lisensinformasjonen som standard være en ukjent lisens. Brukeren må i dette tilfelle re-aktivere en gang med den bruker-spesfikke tjenesten for å låse opp klienten og gjenetablere den originale konfigurasjon og få tilbake sine fulle lisensrettigheter. 2. Et tjenesteabonnement, og derved en programlisens, er registrert med en unik terminal men kan flyttes mellom terminaler. Brukeren kan imidlertid bruke lisensen fra bare en terminal ad gangen. Det bruker-spesifikke konfigurasjonssystemet vil automatisk detektere en overføring av lisens og da endre den registrerte terminal-assosiasjonen tilsvarende. Installasjonen av programvare på den originale terminalen vil imidlertid fortsatt virke i henhold til fulle lisensrettigheter. Av denne grunn bør en en-av-gangen restriksjon bli lagt inn som en juridisk klausul i lisensteksten. 3. Et tjenesteabonnement, og derved en programlisens, kan aktiveres for prøveperiode bare en gang for en bestemt terminal. Brukeren kan re-aktivere fra same terminal med det same kontonavnet for å gjenskape taptjenestekonfigurasjonsdata. Ethvert forsøk på å registrere flere ganger fra same terminal med et annet kontonavn vil blokkeres av det bruker-spesifikke tjenestesystemet. Deteksjon av misbruk kan gjøres på tjenerseiden ved å overvåke antall lisensflyttinger, som igjen kan bli blokkert av tjeneren. The construction of the user-specific service depends on the licensing policy for the service. The policy chosen is based on the following three foundations: 1. A client software license is always associated with a service subscription. During the trial period, there is a 1:1 connection, i.e. the client can only be used with the user-specific service. If the subscription is renewed by payment, and a full software license is approved, it is a 1:n connection. This means that the client can be used with any service provider. However, the client is still connected to the user-specific service when it comes to license management. If the user reinstalls the client software, on the same terminal or another terminal, the locally stored license information will be an unknown license by default. In this case, the user must re-activate once with the user-specific service to unlock the client and restore the original configuration and regain their full license rights. 2. A service subscription, and thereby a software license, is registered with a unique terminal but can be moved between terminals. However, the user can use the license from only one terminal at a time. The user-specific configuration system will automatically detect a license transfer and then change the registered terminal association accordingly. However, the installation of software on the original terminal will still operate under full license rights. For this reason, a one-time restriction should be inserted as a legal clause in the license text. 3. A service subscription, and thereby a software license, can be activated for a trial period only once for a specific terminal. The user can re-activate from the same terminal with the same account name to recreate tap service configuration data. Any attempt to register multiple times from the same terminal with a different account name will be blocked by the user-specific service system. Detection of abuse can be done on the server side by monitoring the number of license transfers, which in turn can be blocked by the server.

Foreliggende oppfinnelse tilveiebringer et klient/tjener-arrangement for sikker og automatisk konfigurering av en trådløs terminal med en klient for et lisensnøkkelavhengig, brukerspesifikt tjenesteabonnement tilveiebrakt av en tjenesteleverandør gjennom fremstilling og bruk av krypteringsnøkkelen og brukerspesifikk informasjon i en tjener, og hvor tjeneren er anordnet i en vertsdatamaskin tilsluttet testleverandøren, kjennetegnet ved de trekk som fremgår av det vedfølgende selvstendige patentkrav 1. The present invention provides a client/server arrangement for the secure and automatic configuration of a wireless terminal with a client for a license key-dependent, user-specific service subscription provided by a service provider through the production and use of the encryption key and user-specific information in a server, and where the server is arranged in a host computer connected to the test provider, characterized by the features that appear in the accompanying independent patent claim 1.

Ytterligere fordelaktige trekk ved foreliggende oppfinnelse fremgår av de vedfølgende uselvstendige patentkravene 2 til og med 15. Further advantageous features of the present invention appear from the accompanying non-independent patent claims 2 to 15 inclusive.

Kort beskrivelse av oppfinnelsen. Brief description of the invention.

Klient/tjener arrangement for sikker og automatisk konfigurering av en trådløs terminal for et bruker-spesifikt tjenesteabonnement gjennom fremstilling og bruk av krypteringsnøkler og bruker-spesifikk informasjon, hvor klienten er anordnet i terminalen (100) og tjeneren er anordnet i en vertsdatamaskin (103) tilsluttet en tjenesteleverandør, som kjennetegnes ved at klienten (100) er anordnet til å overføre fra terminalen til tjeneren (103) en terminal-spesifikk identitet (320) og en bruker-identitet Client/server arrangement for secure and automatic configuration of a wireless terminal for a user-specific service subscription through the production and use of encryption keys and user-specific information, where the client is arranged in the terminal (100) and the server is arranged in a host computer (103) connected to a service provider, which is characterized by the fact that the client (100) is arranged to transfer from the terminal to the server (103) a terminal-specific identity (320) and a user identity

(321) innmatet av brukeren, at tjeneren (103) er anordnet til å generere lisens nøkkel (324 licinfo), klient-krypteringsnøkkel (322 clikey), bruker-spesifikk klientnøkkel (326 mipkey) og generell krypteringsnøkkel (323 enckey) og generell krypteringsnøkkel (323 enckey) benyttes til å kryptere data som oversendes fra tjeneren til terminalen, at tjeneren (103) er anordnet til at den generelle krypteringsnøkkelen (323 enckey) krypteres med en kryptografisk nøkkel (327), at tjeneren (103) er anordnet til å lagre bruker-identitet (321), terminal-spesifikk identitet (320) og bruker-spesifikk klientnøkkel (326) i en database, at tjeneren (103) er anordnet til å returnere til klienten (321) entered by the user, that the server (103) is arranged to generate license key (324 licinfo), client encryption key (322 clikey), user-specific client key (326 mipkey) and general encryption key (323 enckey) and general encryption key (323 enckey) is used to encrypt data that is transmitted from the server to the terminal, that the server (103) is arranged so that the general encryption key (323 enckey) is encrypted with a cryptographic key (327), that the server (103) is arranged to store user identity (321), terminal-specific identity (320) and user-specific client key (326) in a database, that the server (103) is arranged to return to the client

(100) lisens nøkkel (324 licinfo), klient-krypteringsnøkkel (322 clikey), bruker-spesifikk klientnøkkel (326 mipkey) kryptert med den generelle krypteringsnøkkelen (323 enckey) sammen med den generelle krypteringsnøkkelen (323 enckey) kryptert med en kryptografisk nøkkel (327), at klienten (100) er anordnet til å dekryptere den generelle krypteringsnøkkelen (323 enckey) med kryptografisk nøkkel (327) og dekryptere klient krypteringsnøkkelen (322 clikey), lisens nøkkel (324 licinfo) og øvrig informasjon oversendt fra tjeneren med den generelle krypteringsnøkkelen (323 enckey), og at klienten (100) er videre anordnet til å benytte klient krypteringsnøkkel (322 clikey) til signering av senere henvendelser til tjeneren. (100) license key (324 licinfo), client encryption key (322 clikey), user-specific client key (326 mipkey) encrypted with the general encryption key (323 enckey) together with the general encryption key (323 enckey) encrypted with a cryptographic key ( 327), that the client (100) is arranged to decrypt the general encryption key (323 enckey) with cryptographic key (327) and decrypt the client encryption key (322 clikey), license key (324 licinfo) and other information transmitted from the server with the general the encryption key (323 enkey), and that the client (100) is further arranged to use the client encryption key (322 clikey) for signing subsequent requests to the server.

Det arrangement som beskrevet i avsnittet over kan videre omfatte at en klient (100) som alt er registrert som beskrevet i 1 og benytter den bruker-spesifikke tjenesten ved mottak av feilkode ved bruk av tjenesten, videre er anordnet til å overføre fra terminalen The arrangement described in the section above can further include that a client (100) who is all registered as described in 1 and uses the user-specific service upon receiving an error code when using the service, is further arranged to transfer from the terminal

(100) til tjeneren (103) en forespørsel om tjenesteaktivering der en terminal-spesifikk identitet (320) og den valgte bruker-identitet (321) oppgis i forespørselen, og at denne forespørselen er signert av klienten med klient krypteringsnøkkel (322 clikey), at tjeneren (103) er anordnet til å kontrollere at forespørselen fra klienten (100) er signert med klient-krypteringsnøkkel (322 clikey), og dersom forespørselen er korrekt gjennomføres lisens-aktivering og dersom forespørselen er signert feil behandles forespørselen som en anonym henvendelse som beskrevet i punkt 1, at tjeneren (103) er anordnet til å foreta lisens aktivering ved å be brukeren om å akseptere tjenestevilkår og oppgi betalingsinformasjon, og at tjeneren (103) er videre anordnet til å oversende betalingsinformasjon til kredittkort-selskap (104), ved aksept overføres oppdatert lisensinformasjon til klienten (100) og AAA-database oppdateres og ved avslag avvises forespørselen. (100) to the server (103) a request for service activation where a terminal-specific identity (320) and the selected user identity (321) are stated in the request, and that this request is signed by the client with client encryption key (322 clikey), that the server (103) is arranged to check that the request from the client (100) is signed with a client encryption key (322 clikey), and if the request is correct, license activation is carried out and if the request is signed incorrectly, the request is treated as an anonymous inquiry which described in point 1, that the server (103) is arranged to carry out license activation by asking the user to accept terms of service and provide payment information, and that the server (103) is further arranged to transmit payment information to the credit card company (104), upon acceptance, updated license information is transferred to the client (100) and the AAA database is updated, and upon refusal, the request is rejected.

Videre kan arrangement som beskrevet over være slik innrettet at tjenesten er Mobil IP og feilkoden er feilmelding 131 fra en Mobil IP hjemmeagent (101). Furthermore, arrangements as described above can be arranged so that the service is Mobile IP and the error code is error message 131 from a Mobile IP home agent (101).

Videre kan arrangement som beskrevet over være slik innrettet at klienten (100) også er anordnet til å overføre klient modell/versjonsnummer, operativsystem type og operativsystem versjon, foretrukket språk og årsak for henvendelsen (103). Furthermore, arrangements as described above can be arranged such that the client (100) is also arranged to transmit the client model/version number, operating system type and operating system version, preferred language and reason for the inquiry (103).

Videre kan arrangement som beskrevet over være slik innrettet at tjeneren (103) krever at det også oppgis en gyldig email-adresse eller gyldig mobilnummer som senere kan benyttes til å kontakte kunden. Furthermore, arrangements as described above can be arranged in such a way that the server (103) requires that a valid email address or valid mobile number is also provided which can later be used to contact the customer.

Videre kan arrangement som beskrevet over være slik innrettet at tjeneren (103) tillater klient (100) reinstallasjon ved utstedelse av en kopi av konfigurasjonsinformasjon når forespørselen inneholder en kjent terminal spesifikk identitet (320) og brukeren oppgir et brukernavn (321) som eksisterer fra før. Furthermore, arrangements as described above can be arranged such that the server (103) allows the client (100) reinstallation by issuing a copy of configuration information when the request contains a known terminal-specific identity (320) and the user provides a username (321) that already exists .

Videre kan arrangement som beskrevet over være slik innrettet at tjeneren tillater lisens-overføring ved utstedelse av en ny signert konfigurasjonsinformasjon når forespørselen inneholder en ny terminal spesifikk identitet (320) og brukeren oppgir et brukernavn Furthermore, arrangements as described above can be arranged such that the server allows license transfer by issuing a new signed configuration information when the request contains a new terminal-specific identity (320) and the user provides a username

(321) som eksisterer fra før. (321) which already exists.

Videre kan arrangement som beskrevet over være slik innrettet at gjentatt lisens-overføring tillates kun et bestemt antall ganger ved å sette en sperre for antall lisens-overføringer som er tillatt per registrerte brukernavn (321). Furthermore, arrangements as described above can be arranged so that repeated license transfers are only allowed a certain number of times by setting a limit on the number of license transfers that are allowed per registered user name (321).

Videre kan arrangement som beskrevet over være slik innrettet at tjeneren (103) blokkerer for utstedelse av konfigurasjonsinformasjon når forespørselen inneholder en kjent terminal spesifikk identitet (320) og brukeren oppgir et nytt brukernavn (321). Furthermore, arrangements as described above can be arranged such that the server (103) blocks the issuance of configuration information when the request contains a known terminal-specific identity (320) and the user provides a new username (321).

Videre kan arrangement som beskrevet over være slik innrettet at klienten (100) kan detektere at det er registrert en apparatidentitet, kalt "device-id", som ikke har gyldig lisens, og tilbyr brukeren automatisk opprettelse av konfigurasjon og lisens. Furthermore, arrangements as described above can be arranged so that the client (100) can detect that a device identity, called "device-id", which does not have a valid license has been registered, and offers the user automatic creation of configuration and license.

Videre kan arrangement som beskrevet over være slik innrettet at klienten (100) kan detektere versjon av konfigurasjonsdata i klienten ikke stemmer overens med klientprogramvare versjon, og tilbyr brukeren automatisk oppdatering av konfigurasjonsinformasjon til riktig versjon. Furthermore, arrangements as described above can be arranged so that the client (100) can detect that the version of configuration data in the client does not correspond to the client software version, and offer the user automatic updating of configuration information to the correct version.

Videre kan arrangement som beskrevet over være slik innrettet at klienten (100) kan detektere at det ikke er mulig å nå hjemmeagenten (101) og redirigerer brukeren til en webside som tilbyr assistanse til konfigurasjon. Furthermore, arrangements as described above can be arranged such that the client (100) can detect that it is not possible to reach the home agent (101) and redirects the user to a website that offers assistance with configuration.

Videre kan arrangement som beskrevet over være slik innrettet at tjeneren (103) kan utstede en "provider section" for 3. part som kan gi 3dje part anledning til å utstede lisenser, uten at 3. part får adgang til å endre service provider og URL for konfigurasjon. Furthermore, arrangements as described above can be arranged such that the server (103) can issue a "provider section" for 3rd parties which can give 3rd parties the opportunity to issue licences, without 3rd parties gaining access to change the service provider and URL for configuration.

Videre kan arrangement som beskrevet over være slik innrettet at tjeneren (103) kan utstede en "provider section" for 3. part som kan gi 3dje part anledning til å utstede signerte profiler, uten at 3. part får adgang til å utstede lisenser for klientprogramvare. Videre kan arrangement som beskrevet over være slik innrettet at konfigurasjonen fra server (103) til klient (100) er signert av server for å unngå feilaktig konfigurasjon og tjeneste-nekt-angrep mot klienten. Furthermore, arrangements as described above can be arranged such that the server (103) can issue a "provider section" for 3rd parties which can give 3rd parties the opportunity to issue signed profiles, without 3rd parties gaining access to issue licenses for client software . Furthermore, arrangements as described above can be designed so that the configuration from server (103) to client (100) is signed by the server to avoid incorrect configuration and denial-of-service attacks against the client.

Systemoversikt System overview

Om vi bruker Mobil-IP som det bruker-spesifikke tjenesteekesempelet, kalt "SmartRoaming" i resten av dokumentet, består systemet av fem forskjellige komponenter. If we use Mobil-IP as the user-specific service example, called "SmartRoaming" in the rest of the document, the system consists of five different components.

100 Mobile IP klient 100 Mobile IP client

101 Mobile IP Hj emmeagent 101 Mobile IP Home agent

102 AAA-tjener (f.eks. RADIUS-basert) 102 AAA server (e.g. RADIUS-based)

103 Administrasjonstjener 103 Administrative servant

104 Kreditt-kortbetalingstjener (drevet av betalingsformidler) 104 Credit card payment server (operated by payment intermediary)

Figur 1 beskriver logikken i interaksjon mellom komponentene. Klienten samhandler med Mobil-IP-agenten i følge de vanlige IETF-standarder over standardgrensesnitt markert med 10 i figuren. Nøkkelen til systemets virksomhet er hvordan klienten kommuniserer med leveransetj eneren over de proprietære grensesnittet 20 beskrevet i den foreliggende beskrivelsen. Merk at kommunikasjonsveiene markert med 15 tilsvarer rjenestetrafikkflyt, og veiene markert med 25 tilsvarer til tilsvarer tj enestekontrollflyt. Figure 1 describes the logic of interaction between the components. The client interacts with the Mobil-IP agent according to the usual IETF standards over the standard interface marked with 10 in the figure. The key to the system's operation is how the client communicates with the delivery server over the proprietary interface 20 described in the present description. Note that the communication roads marked with 15 correspond to pure traffic flow, and the roads marked with 25 correspond to correspond to tj only control flow.

Kommunikasjon mellom klient og leveransetj eneren er implementert som et proprietært grensesnitt over http(s). Den innebygde nettleser i klient-terminalen (100) er brukt til å forespørre, fremvise og laste ned informasjon. All logikk er implementert på tjenersiden Communication between the client and the delivery server is implemented as a proprietary interface over http(s). The built-in browser in the client terminal (100) is used to request, display and download information. All logic is implemented on the server side

(103). Hver transaksjon starter med at klienten sender en forespørsel til tjeneren. Tjeneren avgjør korrekt status for klienten og genererer en serie med re-dirigeringer tilsvarende de ulike steg i hver transaksjon som er planlagt for klienten. Noen transaksjoner starter en http(s)-nedlasting som det endelige steg. Innholdet er markert (ved bruk av "Content-Type"- hode) som en spesifikk MIME-applikasjonstype ("application/xxxx"). Klientprogramvaren vil registrere seg selv ved installasjon til å håndtere denne type innhold, f.eks. ved hjelp av en nettleser plug-inn for å unngå dialogen i forbindelse med nedlasting av fil for konfigurasjonsinformasjonen, som normalt tilbys av nettleseren. Interaksjonen mellom klienten (100) og leveransetj eneren (103) avhenger av en eller flere av de følgende nøkkelbetingelser. 1 Klienten (100) initierer en forespørsel til tjeneren (103) i situasjoner som (i) dersom klienten ikke har en gyldig konfigurasjon, (ii) dersom brukeren velger "Min Konto" fra klientbrukergrensesnitt, eller (iii) hver gang klienten får en Mobil-IP-feil 131 (autentiseirngsfeil) fra hjemmeagenten (101). Den siste situasjonen kan provoseres fra tjeneren for å få oppmerksomhet fra klienten. Se seksjonen 'Telles aspekter av tjenesten" for en full liste av situasjoner som kan utløse sending av en forespørsel. 2 Merk at forespørselen alltid starter med at klienten sender en "solicit"-forespørselmelding til tjeneren og mottar nøkkelinformasjon som adressen til den riktige leveransetj eneren, et sikkerhetstoken (utfordring) og en forhånds-formulert forespørselstreng som skal brukes i den etterfølgende forespørselen. På denne måten kan flere administrasjonstjenere benyttes og tjenerrnigrering og lastbalansering kan oppnås. 3 En programvarelås i klienten som kan representere tre tilstander (i) den initielle tilstanden tilsvarende en fersk installasjon og ingen tidligere aktiveringsforsøk, (ii) låst tilstand som tilsvarer prøvetidsfase og (iii) opplåst tilstand som tilsvarer fulle lisensrettigheter. 4 En kapasitet i klienten til å gjenkjenne SmartRoaming-profiler blant settet av alle profiler. Muligheten til å arbeide spesifikt med SmartRoaming-tjenesten for slike profiler. Profilen er klassifisert som en SmartRoaming-profil hvis og bare hvis dens profil-GUID (fagtermakronym for: "globalt unik identifikator") matcher den som er lagret i leverandørens konto og dens "hash" er lagret i leverandør-kontoinformasjonen. 5 Konfigurasjonen sendt fra tjeneren til klienten er signert av konfigurasjonstjeneren, for å unngå feil konfigurasjonsinformasjon og tjenestenektangrep ved falsk konfigurasjonsinformasjon. (103). Each transaction starts with the client sending a request to the server. The server determines the correct status for the client and generates a series of redirects corresponding to the various steps in each transaction planned for the client. Some transactions initiate an http(s) download as the final step. The content is marked (using the "Content-Type" header) as a specific MIME application type ("application/xxxx"). The client software will register itself upon installation to handle this type of content, e.g. using a browser plug-in to avoid the configuration information file download dialog normally provided by the browser. The interaction between the client (100) and the delivery server (103) depends on one or more of the following key conditions. 1 The client (100) initiates a request to the server (103) in situations such as (i) if the client does not have a valid configuration, (ii) if the user selects "My Account" from the client user interface, or (iii) each time the client receives a Mobile -IP error 131 (authentication failure) from the home agent (101). The last situation can be provoked from the servant to get attention from the client. See the section 'Counted aspects of the service' for a full list of situations that can trigger the sending of a request. 2 Note that the request always starts with the client sending a "solicit" request message to the server and receiving key information such as the address of the correct delivery server , a security token (challenge) and a pre-formulated request string to be used in the subsequent request. In this way, multiple management servers can be used and server migration and load balancing can be achieved. 3 A software lock in the client that can represent three states (i) the initial state corresponding to a fresh installation and no previous activation attempts, (ii) locked state corresponding to trial phase and (iii) unlocked state corresponding to full license rights. 4 A capacity in the client to recognize SmartRoaming profiles among the set of all profiles. The ability to work specifically with the SmartRoaming service for such profiles.Profi len is classified as a SmartRoaming profile if and only if its profile GUID (technical acronym for: "globally unique identifier") matches the one stored in the provider's account and its "hash" is stored in the provider account information. 5 The configuration sent from the server to the client is signed by the configuration server, to avoid incorrect configuration information and denial of service attacks in the case of false configuration information.

De viktigste transaksjonene over leveransegrensesnittet er: The most important transactions over the delivery interface are:

1 initiell tjenesteaktivering 1 initial service activation

2 lisensaktivering etter utløp av prøveperioden. 2 license activation after the end of the trial period.

3 fornyelse av tjenesten etter slutten av hver abonnementsperiode 3 renewal of the service after the end of each subscription period

Merk at tjenesteaktivering er en forutsetning for lisensaktivering. Videre må den initielle tjenesteaktiveiingen komme fra mMterminalen som skal motta konfigurasjonsdata og kjøre Mobil-IP-klienten. Andre tjenesterelaterte oppgaver, som lisensaktivering, tjenestefornyelse, etc. kan komme enten fra målterminalen eller fra en annen terminal (typisk en PC) via det separate kontoadministrasjonsnettgrensesnittet. Interaksjonen mellom klienten og leveransetj eneren er videre styrt av en sikkerhetsmodell basert på det følgende: 1 Tjenestekonfigurasjonsdata lagret på klienten er signert av leveransetjeneren, og gjør derved dataene innbruddssikre. 2 Kritiske data (som brukerakkreditiver og nøkler) lagres på klienten i kryptert format. 3 Klient-tjener-kommunikasjonen er signert og kryptert, og hindrer derved inntrengningsforsøk fra ondsinnede klienter. 4 Nøkkeladministrasjon er sikker, og forhindrer derved avsløring av nøkkelinformasjon. Note that service activation is a prerequisite for license activation. Furthermore, the initial service activation must come from the mMterminal which will receive configuration data and run the Mobile IP client. Other service-related tasks, such as license activation, service renewal, etc. can come either from the target terminal or from another terminal (typically a PC) via the separate account management web interface. The interaction between the client and the delivery server is further governed by a security model based on the following: 1 Service configuration data stored on the client is signed by the delivery server, thereby making the data tamper-proof. 2 Critical data (such as user credentials and keys) is stored on the client in encrypted format. 3 The client-server communication is signed and encrypted, thereby preventing intrusion attempts by malicious clients. 4 Key management is secure, thereby preventing disclosure of key information.

Felles forhold ved tjenesten Common conditions in the service

De følgende underavsnitt beskriver systemaspekter som er felles både for klient og tjener. Mer detaljert informasjon for respektive klient- og tjenersidekomponenter er gitt i senere avsnitt. The following subsections describe system aspects common to both client and server. More detailed information for respective client- and server-side components is provided in later sections.

Kommando- sløyfe Command loop

Klienten må ha så lite innebygd intelligens som mulig. Den overordnede kontrollen må være på tjenersiden. Hensikten er å forenkle klientimplementasjonen og ha et design som er fleksibelt for endring også etter at klienten er installert. The client must have as little built-in intelligence as possible. The overall control must be on the server side. The purpose is to simplify client implementation and to have a design that is flexible for change even after the client has been installed.

Kommando-sløyfen har to faser; den første fasen (som kalles "solicit"-fase) er initiert direkte av klienten (ikke via nettleseren), og dokumentet som returneres har en veldig enkel struktur, som vist i eksemplet i Tabell 1. Dette dokumentet "parses" av klienten og informasjonen er brukt i den etterfølgende fasen som utføres av nettleseren. "Solicit"-fasen returnerer informasjon som omdirigeringsadresse, URL som skal brukes og utfordrings-verdier (fagterm: "challenge"). Merk at utfordringsverdien er gyldig bare en kort tid, f.eks. et par minutter, for å få til beskyttelse mot gjentatt sending. The command loop has two phases; the first phase (called the "solicit" phase) is initiated directly by the client (not via the browser), and the document returned has a very simple structure, as shown in the example in Table 1. This document is "parsed" by the client and the information is used in the subsequent phase performed by the browser. The "Solicit" phase returns information such as redirect address, URL to be used and challenge values (technical term: "challenge"). Note that the challenge value is only valid for a short time, e.g. a few minutes, in order to obtain protection against repeated transmission.

Solicit-fasen gjøres som den første transaksjonen i forespørselen fra klienten til leveransetj eneren, og gjør det mulig for tjenesteleverandør å kontrollere IP-adressene som brukes av tjenesten, og formulere master-URL til bruk for senere forespørsler. På denne måten kan nye tjenere introduseres, og tjenstemigrasjon kan gjøres uten noen endringer til klienten. The solicit phase is done as the first transaction in the request from the client to the delivery server, and enables the service provider to control the IP addresses used by the service and formulate the master URL to use for subsequent requests. In this way, new servers can be introduced and service migration can be done without any changes to the client.

Merk at klienten kun åpner en URL (kalt "solicit URL"), som kan åpnes i anonym eller navnet modus. Tjeneren responderer med en enkel URL (som inneholder "token" som klienten vil parsere og erstatte, f.eks. enhets-identifikator (320), brukernavn, utfordringsverdi, signatur, klientversjon, årsak for forespørselen), og starter deretter en nettleser med den resulterende URL. Fra dette punkt interagerer klienten ikke med leveransetjeneren, alt gjøres i nettleseren (inntil tiden da nettleseren, dersom det trengs, mottar en ny konfigurasjon, eller Mobil-IP-forbindelsen restartes). Note that the client only opens a URL (called "solicit URL"), which can be opened in anonymous or named mode. The server responds with a simple URL (containing the "token" that the client will parse and replace, eg device identifier (320), username, challenge value, signature, client version, reason for the request), and then launches a browser with it resulting URL. From this point, the client does not interact with the delivery server, everything is done in the browser (until the time when the browser, if needed, receives a new configuration, or the Mobile IP connection is restarted).

HTTP(S)-grensesnittet mellom klient og leveransetj ener er basert på å alltid forespørre den samme basis-URL. To forskjellige parametersett kan legges til, avhengig av forespørseltype, som f.eks. anonym eller navnet, som beskrevet nedenfor. Tjeneren håndterer forespørsler i et angitt adgangspunkt i web-tjeneren. Tjeneren avgjør den øyeblikkelige status for klienten og planlegger den korrekte transaksjonen. Tjeneren responderer med (en serie av) re-dirigeringer, hver med en mer spesifikk URL, avhengig av den utstedte transaksjonstypen. Hver transaksjon kan resultere i en HTTP-nedlasting dersom klientens konfigurasjon trenger oppdatering. Klienten vil sende en ny forespørsel igjen bare ved bestemte forhold som beskrevet under. The HTTP(S) interface between client and delivery server is based on always requesting the same base URL. Two different parameter sets can be added, depending on the request type, such as anonymous or the name, as described below. The server handles requests in a specified access point in the web server. The server determines the current status of the client and schedules the correct transaction. The server responds with (a series of) redirects, each with a more specific URL, depending on the type of transaction issued. Each transaction can result in an HTTP download if the client's configuration needs updating. The client will send a new request again only in certain circumstances as described below.

En forespørsel fra klienten kan være enten (i) anonym eller (ii) navnet. Den første er brukt når klienten ikke har noen tidligere konfigurasjonsdata, typisk en fersk installasjon, eller at konfigurasjonsdata har blitt modifisert, f.eks. ved en signaturkontroll som feiler. I dette tilfelle kan ikke noen kontoidentifikator legges til forespørselen (derfor anonym). Det andre tilsvarer tilfellet når klienten har et sett med gyldige konfigurasjonsdata for en gitt SmartRoaming tjenestekonto. I dette tilfellet vil identifikatoren assosiert med kontoen legges til forespørselen (derfor navnet). En navnet forespørsel trigges (i) dersom klienten ikke har gyldig konfigurasjon, (ii) dersom brukeren velger "Min konto" fra klientens brukergrensesnitt, (iii) klient-versjonen er annerledes enn konfigurasjons-versjonen, eller (iv) når klienten mottar Mobile-IP-feil 131 (autentiseirngsfeil) som signaliseres til klienten mens den er i bruk for å få oppmerksomhet. A request from the client can be either (i) anonymous or (ii) named. The first is used when the client has no previous configuration data, typically a fresh installation, or that configuration data has been modified, e.g. in the event of a signature check that fails. In this case, no account identifier can be added to the request (therefore anonymous). The second corresponds to the case when the client has a set of valid configuration data for a given SmartRoaming service account. In this case, the identifier associated with the account will be added to the request (hence the name). A named request is triggered (i) if the client does not have a valid configuration, (ii) if the user selects "My account" from the client's user interface, (iii) the client version is different from the configuration version, or (iv) when the client receives Mobile- IP Error 131 (authentication failure) signaled to the client while in use to get attention.

Leveransetj eneren gjør dette midlertidig ved å invalidere autentiserings-data lagret i AAA-tjeneren (102) for den aktuelle brukerkonto. Tjeneren kan planlegge et sett med aksjoner for klienten før klienten gis beskjed. Når klienten har fått beskjed, sender klienten en forespørsel til tjeneren, og utfører den nødvendige transaksjonen. Det detaljerte hendelsesforløpet er som følger: 1. Tjeneren trenger (ønsker) oppmerksomhet fra klienten, f.eks. for å informere om at en prøveperiode er utløpt. 2. Tjeneren endrer midlertidig autentiserings data i AAA-tjeneren (102) til en ugyldig verdi som ikke stemmer med den korresponderende profil-instillingen i klienten. 3. Ved neste re-registrering fra klienten provoseres en feilkode 131, i henhold til The delivery server does this temporarily by invalidating authentication data stored in the AAA server (102) for the relevant user account. The servant can plan a set of actions for the client before the client is notified. Once notified, the client sends a request to the server and performs the required transaction. The detailed sequence of events is as follows: 1. The servant needs (wants) attention from the client, e.g. to inform that a trial period has expired. 2. The server temporarily changes authentication data in the AAA server (102) to an invalid value that does not match the corresponding profile setting in the client. 3. At the next re-registration from the client, an error code 131 is provoked, according to

Mobil-IP-standarden definert i IETF RFC3344. The Mobile IP standard defined in IETF RFC3344.

4. Klienten tar en feil 131 for en SmartRoaming profil som et signal og at tjeneren ønsker dens oppmerksomhet, og sender en navnet forespørsel. 5. Tjeneren avgjør hvilken transaksjon som skal startes (f.eks. en utløpt prøveperiode) og utfører en kjede av re-dirigeringer i henhold til dette. 4. The client takes an error 131 for a SmartRoaming profile as a signal and that the server wants its attention, and sends a name request. 5. The server decides which transaction to start (eg an expired trial) and performs a chain of redirects accordingly.

6. Transaksjonen fullføres. 6. The transaction is completed.

7. Klienten fortsetter normal Mobil-ff-operasjon. 7. The client continues normal Mobil-ff operation.

8. Klienten kan selv ta initiativ til kontakt med tjeneren ved bestemte kriteria som beskrevet tidligere. 8. The client can himself take the initiative to contact the server according to certain criteria as described earlier.

For å sikre korrekt respons via kommandosløyfen ved feil 131 er det en nøkkelforutsetning at agenten ikke lagrer akkreditiver midlertidig (tilsv, fagterm: "caching"), men alltid henter disse direkte fra AAA-tjeneren (102). Videre, AAA-tj ener-mfrastruktur må skalere sammen med agentmfrastruktur (101) for å sikre rask respons i kommunikasjonen mellom disse to komponentene. In order to ensure a correct response via the command loop in case of error 131, it is a key condition that the agent does not store credentials temporarily (also, technical term: "caching"), but always retrieves these directly from the AAA server (102). Furthermore, the AAA server mfrastructure must scale together with the agent mfrastructure (101) to ensure fast response in the communication between these two components.

Redirigering til et tjenesteleverandørsted Redirection to a service provider site

Når brukeren starter en nettverksavhengig applikasjon og velger Mobil IP forbindelsen, kan Mobil IP klienten trenge å redirigere brukeren til en Mobil IP tjenesteleverandørs nettsted. Ved dette tilfelle, vil klienten vise en melding der brukeren spørres om å akseptere eller ikke akseptere redirigeringen. Meldingen som vises bør varieres i henhold til årsaken til redirigeringen. Tabellen under viser mulige årsaker til redirigering. When the user starts a network-dependent application and selects the Mobile IP connection, the Mobile IP client may need to redirect the user to a Mobile IP service provider's website. In this case, the client will display a message asking the user to accept or not accept the redirection. The message displayed should be varied according to the reason for the redirect. The table below shows possible reasons for redirection.

Aksjon som tas av klienten og meldingen som vises i hvert av tilfellene over er som følger. Merk at disse forholdene bør håndteres i klienten i samme rekkefølge som i listen. 1. Klienten etablerer en standardleverandørpostering. Derfor trengs ikke redirigering og ingen melding vises. 2. Klienten enten etablerer automatisk en standardleverandørpostering (hard-kodet) eller viser følgende redirigeringsmelding: <Tjenesteleverandør> kontaktdata er ikke gyldig Vil du lagre dem? Action taken by the client and message displayed in each of the cases above are as follows. Note that these conditions should be handled in the client in the same order as in the list. 1. The client establishes a standard supplier posting. Therefore, redirection is not needed and no message is displayed. 2. The client either automatically establishes a standard supplier posting (hard-coded) or displays the following redirect message: <Service Provider> contact data is not valid Do you want to save it?

3. Klienten viser følgende melding: 3. The client displays the following message:

Mobile IP er ikke aktivert for din terminal. Vil du aktivere den med <Standard-Tjenesteleverandør>? Mobile IP is not activated for your terminal. Do you want to activate it with <Default Service Provider>?

4. Klienten viser følgende melding: 4. The client displays the following message:

Din Mobil IP lisens er ikke gyldig. Your Mobile IP license is not valid.

Vil du gjenskape den fra <Leverandør>? Do you want to recreate it from <Supplier>?

5. Klienten viser følgende melding: 5. The client displays the following message:

Du har ikke en profil You do not have a profile

Vil du hente en fra <Leverandør>? Would you like to collect one from <Supplier>?

6. Klienten viser følgende melding: 6. The client displays the following message:

Din aktive profil er ikke gyldig Your active profile is not valid

Ønsker du å gjenskape den fra <Leverandør> Do you want to reproduce it from <Supplier>

7. Klienten viser følgende melding: 7. The client displays the following message:

Din <Leverandør> konto er suspendert Your <Supplier> account has been suspended

Vil du gjenoppta operasjon? Do you want to resume operation?

8. Klienten viser følgende melding: 8. The client displays the following message:

Din Mobil IP lisens er ikke gyldig. Your Mobile IP license is not valid.

Vil du gjenskape den fra <Leverandør>? Do you want to recreate it from <Supplier>?

9. Klienten viser følgende melding: 9. The client displays the following message:

Dine kontodata stemmer ikke med din Mobil IP klientversjon Vil du oppgradere din konto til riktig versjon? Your account data does not match your Mobil IP client version Do you want to upgrade your account to the correct version?

10. Klienten viser følgende melding: 10. The client displays the following message:

Du har en gyldig <Leverandør> profil, men terminalen er ikke i stand til å nå hjemmeagenten. Du redirigeres til <Leverandør> for assistanse med å finne feilen. You have a valid <Provider> profile, but the terminal is unable to reach the home agent. You are redirected to <Supplier> for assistance in finding the error.

I alle meldingstekstene over er <Leverandør> et felt for leverandørnavnet (SmartRoaming.com, for eksempel). In all the message texts above, <Provider> is a field for the provider name (SmartRoaming.com, for example).

Et viktig poeng vedrørende hvordan 131 kan provoseres; tjeneren må bruke en (ugyldig) nøkkel for å provosere 131. Imidlertid må denne ugyldige koden også kjennes av klienten. Vi bruker det krypterte passordet som den ugyldige nøkkel. Grunnen til dette er at klienten må være i stand til å verifisere MIP-autentikatoren av Mobile IP RRP-meldingen som gir feilkode 131, derav verifisere at den kommer fra hjemmeagenten som forventet. Dette er for å unngå av klienten blir sårbar for DoS-angrep. An important point regarding how 131 can be provoked; the server must use an (invalid) key to provoke 131. However, this invalid code must also be known by the client. We use the encrypted password as the invalid key. The reason for this is that the client must be able to verify the MIP authenticator of the Mobile IP RRP message that returns error code 131, hence verify that it is coming from the home agent as expected. This is to avoid the client becoming vulnerable to DoS attacks.

Tjenesteaktivering Service Activation

Tjenesteaktivering referer til prosessen med å etablere et nytt abonnement og starte en prøveperiode. Registreringen er umiddelbart fulgt av å laste ned SmartRoaming konfigurasjonsdata. Begrepet re-aktivering er brukt når konfigurasjonsdata fra en tidligere aktivering er tapt eller endret i terminalen. En forespørsel kan sendes til tjeneren og resultere i en gjentatt nedlastning. Prosessen med å låse opp klienten ved å fortsette tjenesteabonnementet etter prøveperioden kalles lisensaktivering og er diskutert i et senere avsnitt. Service activation refers to the process of establishing a new subscription and starting a trial period. Registration is immediately followed by downloading SmartRoaming configuration data. The term re-activation is used when configuration data from a previous activation has been lost or changed in the terminal. A request can be sent to the server and result in a repeated download. The process of unlocking the client by continuing the service subscription after the trial period is called license activation and is discussed in a later section.

Når aktivering er startet, vil klienten starte standardnettleser i terminalen (100) og vil dirigeres til en registrerings-side som ber om (blant annet) en brukernavn/passord-kombinasjon. When activation has started, the client will start the standard browser in the terminal (100) and will be directed to a registration page that asks for (among other things) a username/password combination.

Dersom leveransetj eneren (103) avgjør at det ikke finnes en konto med den oppgitte terminal id, må en ny konto lages og et nytt sett med konfigurasjonsdata må lastes ned. Dette tilsvarer initiell aktivering og starter prøveperioden. Etablering av konti må imidlertid gjøres avhengig av en kontroll at lås-status for klienten som forespør ikke indikerer at klienten allerede er i en prøveperiode under et annet navn. If the delivery server (103) determines that there is no account with the specified terminal id, a new account must be created and a new set of configuration data must be downloaded. This corresponds to initial activation and starts the trial period. However, the establishment of accounts must be dependent on a check that the lock status of the requesting client does not indicate that the client is already in a trial period under a different name.

Tjenersiden (103) må lagre informasjon om etableringen av hver konto og holde kontroll med tiden deretter. Dersom navnet finnes og passordet stemmer, gjøres re-aktivering av en eksisterende konto. De samme konfigurasjonsdata lastet ned ved den originale aktiveringen må da lastes ned igjen og overskrive den lokale kopi. Dette representerer en fortsettelse av prøveperioden. Tidspunktet for initiell aktivering må lagres. The server side (103) must store information about the establishment of each account and keep control of the time accordingly. If the name is found and the password is correct, an existing account is reactivated. The same configuration data downloaded at the original activation must then be downloaded again and overwrite the local copy. This represents a continuation of the trial period. The time of initial activation must be saved.

Dersom brukeren eksisterer og passordet ikke stemmer, må det anses å være et ikke-unikt brukernavn. Brukeren må da spørres om å velge et annet navn. Tjeneren bør da tilby noen alternativer som er unike, men fortsatt ligne på brukerens opprinnelige forslag. If the user exists and the password does not match, it must be considered a non-unique username. The user must then be asked to choose another name. The server should then offer some options that are unique but still similar to the user's original suggestion.

Ved tilfellet av en SmartRoaming reaktiveringforespørsel, må tjeneren først sjekke om brukerkontoen er en prøve-konto eller en fullt lisensiert tjenestekonto. I det førstnevnte tilfellet må tjeneren sjekke lås-status som rapporteres av klienten. Dersom dette ikke stemmer, må klienten gjøre en forespørsel til tjeneren for å endre sin lås-status. In the case of a SmartRoaming reactivation request, the server must first check whether the user account is a trial account or a fully licensed service account. In the former case, the server must check the lock status reported by the client. If this is not true, the client must make a request to the server to change its lock status.

Signalering for tjenesteaktivering via en anonym forespørsel er beskrevet i figur 2. Merk at 200 angir tjenesteleverandørens ansvarsområde, mens 210 angir kredittkort-selskapet. Den initielle forespørsel representerer "soliciation" fasen, og gjør det mulig for tjenestetilbyderen å formulere en URL som deretter brukes av klienten, så vel tjener-adresse og et "token" som brukes for å unngå tjenestenektangrep (fagterm: "Denial of Service"). Når "solicif-reponsen er mottatt, genererer klienten en forespørsel til tjeneren, som vil gjøre en redirigering til aktiveringsside. Når denne siden er fylt ut, genereres det en konto. En annen redirigering returneres da for at klienten tilslutt kan hente de resulterende konfigurasjonsdata. Signaling for service activation via an anonymous request is described in Figure 2. Note that 200 indicates the service provider's area of responsibility, while 210 indicates the credit card company. The initial request represents the "solicitation" phase, and enables the service provider to formulate a URL that is then used by the client, as well as the server address and a "token" that is used to avoid denial of service attacks (technical term: "Denial of Service") . When the "solicif" response is received, the client generates a request to the server, which will redirect to the activation page. Once this page is filled, an account is generated. Another redirect is then returned so that the client can finally retrieve the resulting configuration data.

Den følgende sekvensen er illustrert i figur 2: The following sequence is illustrated in Figure 2:

201 Solicit-forespørsel fra klientprogramvare 201 Solicit request from client software

202 Solicit-respons til klientprogramvaren 202 Solicit response to the client software

203 Anonym forespørsel fra klientens nettleser 203 Anonymous request from the client's browser

204 Redirigering 204 Redirection

205 Tjenesteaktiveringsside 205 Service Activation Page

206 Oppdatere AAA-informasjon 206 Updating AAA information

207 Redirigering 207 Redirection

208 Forespørsel om konfigurasjon 208 Request for configuration

209 Konfigurasjonsdatanedlastning (nettleser engasjerer klientsoftware automatisk) 209 Configuration data download (browser engages client software automatically)

Lisensaktivering License Activation

Kommandosløyfen vil fange situasjonen der et aktivt SmartRoarning-abonnement er utløpt etter en prøveperiode. Når dette hender vil klienten bli redirigert til en lisensieirngs-side. De allerede eksisterende brukeraavnverdiene assosiert med den eksisterende SmartRoaming-profilen vil bli sendt direkte i en navnet forespørsel. Ved å akseptere vilkår for tjenesten og presentere betalingsinformasjon, kan brukeren fortsette tjenesteabonnement et og oppnå en full programvarelisens. Brukernavnet er kobling mellom betalingstransaksjonen og tjenesteabonnementet. Etter betaling må tjeneren oppdateres med ny kontostatus og den nye lisens-låsen vil bli lastet ned. Merk at det ikke trengs noen ny nedlasting av profilen på dette punkt. Brukeren kan fortsette å bruke den installerte programvaren og SmartRoaming-profilen. The command loop will capture the situation where an active SmartRoarning subscription has expired after a trial period. When this happens, the client will be redirected to a license page. The already existing username values associated with the existing SmartRoaming profile will be sent directly in a name request. By accepting the terms of the service and presenting payment information, the user can continue the service subscription and obtain a full software license. The username is the link between the payment transaction and the service subscription. After payment, the server must be updated with the new account status and the new license lock will be downloaded. Note that no new download of the profile is needed at this point. The user can continue to use the installed software and the SmartRoaming profile.

Dersom brukeren nekter å betale har vedkommende ikke rett til å fortsette å bruke programvaren, og tjenesteabonnementet blir invalidert. Tjenestekontoen blir imidlertid ikke fjernet. Brukeren kan til enhver tid starte en lisensaktiveringsprosess for å fortsette tjenesteabonnementet og få en full programvarelisens. If the user refuses to pay, the person concerned does not have the right to continue using the software, and the service subscription is invalidated. However, the service account is not removed. The user may at any time initiate a license activation process to continue the service subscription and obtain a full software license.

Signalering for lisensaktivering er beskrevet i figur 3. Dersom vi forutsetter at denne skjer under Mobil IP operasjon, vil leverandørtjeneren (103) invalidere kontoen i AAA-tjeneren (102) og den neste Mobil IP registreringsforespørselen til klienten vil oppleve en feil 131.1 respons til dette vil klienten sende en navnet forespørsel. Dersom vi forutsetter at prøveperioden er utløpt, vil klienten (100) bli redirigert til en lisensaktiveringsside. Etter å komplettere kredittkort-transaksjonen med kredittkort- selskapet Signaling for license activation is described in figure 3. If we assume that this occurs during Mobile IP operation, the supplier server (103) will invalidate the account in the AAA server (102) and the next Mobile IP registration request to the client will experience an error 131.1 response to this the client will send a name request. If we assume that the trial period has expired, the client (100) will be redirected to a license activation page. After completing the credit card transaction with the credit card company

(104) og oppdatering av kontoen i AAA-tjeneren (102), genereres en ny redirigering og klienten kan laste ned oppdaterte konfigurasjonsdata. (104) and updating the account in the AAA server (102), a new redirect is generated and the client can download updated configuration data.

Den følgende sekvensen er illustrert i figur 3. The following sequence is illustrated in Figure 3.

220 MlP-registreringsforespørsel 220 MlP registration request

221 AAA-forespørsel 221 AAA request

222 AAA-respons 222 AAA response

223 MIP-registreirngsrespons (131) 223 MIP registration response (131)

224 Solicit-henvendelse fra klientprogramvare 224 Solicit request from client software

225 Solicit-respons til klientprogramvare 225 Solicit response to client software

226 Navnet forespørsel fra standard-nettleseren i klienten 226 The name request from the default browser in the client

227 Redirigering 227 Redirection

228 Lisensaktiveringsside 228 License Activation Page

229 Kjedittkort-transaksjon 229 Kjedit card transaction

230 Transaksjon OK 230 Transaction OK

231 Oppdatere AAA-informasjon 231 Updating AAA information

232 Redirigering 232 Redirection

233 Konfigurasjonsdatanedlastingsforespørsel 233 Configuration data download request

234 Konfigurasjonsnedlasting (nettleser vil automatisk engasjere klientprogramvare) 234 Configuration download (browser will automatically engage client software)

Fornyelse av tjeneste Renewal of service

Kommandosløyfe-mekanismen vil fange situasjonen også når et aktivt SmartRoaming-abonnement er utløpt. Når dette skjer vil klienten oppleve en Mobil IP feil nummer 131, klientforespørsel vil bli initiert og terminalnettleseren vil bli redirigert til en betalingsside for å fortsette hans/hennes abonnement. Merk at denne siden vil være annerledes enn lanseringsaktiveringssiden siden brukeren allerede har skaffet en lisens. Brukeren vil fortsette å bruke den samme installerte programvare og SmartRoaming-konfigurasjonen, derfor vil ingen nye data bli nedlastet i dette stadiet. Sekvensdiagrammet er svært likt lisensaktiveringstransaksjonen. The command loop mechanism will also capture the situation when an active SmartRoaming subscription has expired. When this happens the client will experience a Mobile IP error number 131, client request will be initiated and the terminal browser will be redirected to a payment page to continue his/her subscription. Note that this page will be different than the launch activation page since the user has already obtained a license. The user will continue to use the same installed software and SmartRoaming configuration, therefore no new data will be downloaded at this stage. The sequence diagram is very similar to the license activation transaction.

Dataflyt og sikkerhetsmodell Data flow and security model

Kommunikasjonen mellom klienten (100) og tjeneren (103) er sikret av https. Leveransetjeneren må installere et webtj ener sertifikat utstedt av en velkjent sertifikat-autoritet. Klienten må bare kommunisere med leveransetjeneren om den har et gyldig sertifikat for navnet smartroaming.com. The communication between the client (100) and the server (103) is secured by https. The delivery server must install a web server certificate issued by a well-known certificate authority. The client must only communicate with the delivery server if it has a valid certificate for the name smartroaming.com.

En terminal-id (320) som unikt identifiserer klientinstallasjonen må alltid legges til forespørselen. Dette gjelder både anonym og navnet forespørsel, terminal-id kan hentes fra en vilkårlig kilde i terminalen. For en Symbian-terminal kan det være en IMEI-verdi. For en PC kan det være prosessorens serienummer. Formatteringen av terminal-id er åpen, dvs. at den må anses som en variabellengde-tekststreng. Tjenesteleverandør-seksjonen er signert. Tjeneste-Aktiverings-URL er del av denne seksjonen og derfor signert. Denne kan være en ikke-https URL. Dersom det er en https URL, imidlertid, kan det kontrolleres at tjeneren har et sertifikat som matcher URL som etterspørres (utstedt av en CA som har "root" sertifikat installert i klienten). Andre informasjonselementer som alltid må legges til som parametere i enhver forespørsel er: A terminal ID (320) that uniquely identifies the client installation must always be appended to the request. This applies to both anonymous and named requests, the terminal ID can be obtained from an arbitrary source in the terminal. For a Symbian terminal it can be an IMEI value. For a PC, it could be the processor's serial number. The formatting of the terminal id is open, i.e. it must be treated as a variable-length text string. The Service Provider section is signed. The Service Activation URL is part of this section and therefore signed. This can be a non-https URL. If it is an https URL, however, it can be checked that the server has a certificate that matches the requested URL (issued by a CA that has a "root" certificate installed in the client). Other information items that must always be added as parameters to any request are:

1. Klient (Mobile IP) programvareversjon 1. Client (Mobile IP) software version

2. Klient OS plattform og versjon 2. Client OS platform and version

3. Klient terminal_id 3. Client terminal_id

4. Klient terminal modell 4. Client terminal model

5. Foretrukket språk 5. Preferred language

6. Årsak til henvendelsen 6. Reason for the inquiry

Virkningen av å sende over terminal-id (320) i en anonym henvendelse er at tjeneren kan avgjøre eksakt lisensieringstilstand. Ved å sammenligne den mottatte tjeneste-id med databasen av registerte tjeneste-id, og i tillegg ta hensyn til brukernavnet som ble levert i det etterfølgende registreringssteg, kan tjeneren skille mellom de mest vanlige scenario nummerert 1-4 i tabellen under (se tabell 2 for en mer komplett oversikt) The effect of sending over the terminal id (320) in an anonymous request is that the server can determine the exact licensing state. By comparing the received service ID with the database of registered service IDs, and also taking into account the username that was provided in the subsequent registration step, the server can distinguish between the most common scenarios numbered 1-4 in the table below (see table 2 for a more complete overview)

En navnet forespørsel starter alltid med en "solicit"-fase, som implementerer en "challenge-response" del av en navnet henvendelse. En "utfordringsverdi" fra "solicit"-fasen må inkluderes i de etterfølgende http-henvendelsene, dette for å unngå angrep ved gjentatt avspilling. A named request always starts with a "solicit" phase, which implements a "challenge-response" part of a named request. A "challenge value" from the "solicit" phase must be included in the subsequent http requests, to avoid replay attacks.

En navnet forespørsel inneholder brukernavnet i tillegg til terminal-id. I kontrast til den anonyme henvendelsen, er forespørselen selv også signert. Signeringen er et bevis på identiteten til klienten og tjeneren kan fortsette direkte til brukerkonto uten behov for manuell brukerautentisering. Sikkerheten er basert på det faktum at tjeneren ved initiell aktivering vil generere en klientnøkkel og returnere denne til en klient. Tjeneren vil også bruke den samme verdien til å verifisere at henvendelsen matcher med kontonavnet, og derved kommer fra den samme klienten som gjorde den opprinnelige aktiveringen, basert på en tjener-generert utfordring (challenge) og brukernavnet. A named request contains the username in addition to the terminal ID. In contrast to the anonymous request, the request itself is also signed. The signing is proof of the identity of the client and the server can proceed directly to the user account without the need for manual user authentication. The security is based on the fact that upon initial activation the server will generate a client key and return this to a client. The server will also use the same value to verify that the request matches the account name, and thereby comes from the same client that did the original activation, based on a server-generated challenge (challenge) and the username.

Flerleverandørmuligheter. Multi-vendor options.

Merk at tjenesten kan tilby støtte for flere tjenesteleverandører. Ideen er at en eier av en tjeneste (f.eks. Birdstep) kan utstede signerte tjeneste-seksjoner for et sett leverandører, hver leverandør har deres egen (unik) signeringsnøkkel (privat/offentlig) par. Leverandørtjeneste-seksjonene er igjen beskyttet ved at "root"-nøkkelpar bare kjent av Birdstep. En lang rekke leverandør-definisjoner kan være pre-konfigurert i klienten ved utsending. Ved å bruke denne mekanismen, kan leverandører signere konfigurasjoner og kontrollere URL for nedlasting. Merk at de samme konfigurasjonsmekanismene kan brukes til å betjene flere lisenstakere, og tillate kunder som for eksempel terminalprodusenter å utstede klientlisenser for bruk av tjenesten og fortsatt la terminalen være enkelt konfigurerbar for multiple tjenesteleverandører. Note that the service may offer support for multiple service providers. The idea is that an owner of a service (eg Birdstep) can issue signed service sections for a set of providers, each provider having their own (unique) signing key (private/public) pair. The vendor service sections are again protected by the "root" key pair known only by Birdstep. A wide range of provider definitions can be pre-configured in the client when deployed. Using this mechanism, vendors can sign configurations and control download URLs. Note that the same configuration mechanisms can be used to serve multiple licensees, allowing customers such as terminal manufacturers to issue client licenses for use of the service and still leave the terminal easily configurable for multiple service providers.

Anonyme https- forespørsler Anonymous https requests

Dataflyt og sikkerhetsaspekter ved å sende anonyme forespørsler er illustrert i figur 4. Merk at diagrammet bare fanger det første (henvendelse) steg og det endelige (nedlasting) steg i kjeden av transaksjoner. Mellomsteg med redirigering er undertrykket i illustrasjonen. Videre fokuserer illustrasjonen på hvordan tjeneste-id-parameteren håndteres. Håndteringen av andre parametere (klientversjon og klient-operativsystemplattform) vises ikke i diagrammet. Fargekoden er som følger: Data flow and security aspects of sending anonymous requests are illustrated in Figure 4. Note that the diagram only captures the first (request) step and the final (download) step in the chain of transactions. Intermediate steps with redirection are suppressed in the illustration. Furthermore, the illustration focuses on how the service ID parameter is handled. The handling of other parameters (client version and client operating system platform) is not shown in the diagram. The color code is as follows:

1 hvit identifiserer klartekst (original) verdier 1 white identifies plaintext (original) values

2 grå representerer signaturverdier 2 grays represent signature values

3 skravert representerer krypterte verdier 3 shaded represent encrypted values

Bokser med sort ramme representerer permanentlagrede verdier (306). Bokser med stiplet ramme representerer transientgenererte verdier (305). Den venstre del av figuren tilsvarer klientsiden og den høyere del av figuren tilsvarer tjenersiden. De grå fete pilene indikerer trafikk over https-grensesnittet (308/309). De sorte kurver og piler viser hvordan ulike elementer er inngang og utgang fra signering og krytperingsoperasjoner. De grå firkantene tilsvarer signaturkalkulering (304). De små sorte sirklene korresponderer til kryptering (302), og hvite sirkler indikerer dekryptering (301). Konfiguasjonsstrukturene vi tar i betraktning her er i hovedsak: Boxes with a black frame represent permanently stored values (306). Boxes with a dotted frame represent transient-generated values (305). The left part of the figure corresponds to the client side and the higher part of the figure corresponds to the server side. The gray bold arrows indicate traffic over the https interface (308/309). The black curves and arrows show how different elements are input and output from signing and encryption operations. The gray squares correspond to signature calculation (304). The small black circles correspond to encryption (302), and white circles indicate decryption (301). The configuration structures we take into account here are mainly:

1 Kontoinformasjon (acctinfo) 1 Account information (acctinfo)

2 Mobile IP profilinnstilinger (profile) 2 Mobile IP profile settings (profile)

Figur 4 has den følgende betydning av symbolene: Figure 4 has the following meaning of the symbols:

301 dekryptering 301 decryption

302 kryptering 302 encryption

303 verifiser 303 verify

304 signer 304 sign

305 transientgenerert 305 transient generated

306 Permanent lagret 306 Permanently stored

307 Kryptografisk hemmelig nøkkel 307 Cryptographic secret key

308 https forespørsel (parameterisert) 308 https request (parameterized)

309 https nedlasting (mime-kodet) 309 https download (mime encoded)

310httpmsg 310 httpmsg

311 acctinfo 311 acctinfo

312 profil 312 profile

Figur 4 viser de følgende dataelementene: Figure 4 shows the following data elements:

320 terminal-id 320 terminal id

321 userid 321 user pages

322 clikey 322 clikey

323 enckey 323 enkey

324 licinfo 324 license info

325 signatur 325 signature

326 mipkey 326 mipkey

327 kryptografisk hemmelig nøkkel 327 cryptographic secret key

328 signeringsnøkkel 328 signing key

Etter å ha avgjort lisens-status (ref. tabellen over) vil leveransetjeneren vite dersom det allerede er en brukerkonto eller om en ny konto må lages. I tilfelle (4) vil tjeneren enkelt returnere eksisterende konfigurasjonsdata til klienten for dens gjenskapelse av den originale konfigurasjon. I tilfelle (3) vil terminal-id erstattes og den resterende informasjonen bli oppdatert etter rekalkulasjon av de nødvendige signaturer og krypterte verdier. I tilfelle (1) vil en ny konto etableres og fylles med riktig informasjon før den blir kalkulert. Brukernavnet tas fra skjema som blir fremvist i registreringssiden. After determining the license status (ref. table above), the delivery agent will know if there is already a user account or if a new account needs to be created. In case (4), the server will simply return the existing configuration data to the client for its re-creation of the original configuration. In case (3), the terminal ID will be replaced and the remaining information will be updated after recalculation of the necessary signatures and encrypted values. In case (1), a new account will be established and filled with the correct information before it is calculated. The username is taken from the form displayed on the registration page.

En klientnøkkel (clikey) vil genereres som en kryptografisk tilfeldig nøkkel. Nøkkelen er unik og vil bli brukt av klienten til å signere henvendelser og av tjeneren for å verifisere autentisiteten. Klientnøkkelen er videre kryptert med en annen nøkkel (enckey) før nedlasting til klient. Tjeneren lagrer klartestverdi av clikey. Krypteringsnøkkelen (enckey) er også generert som en kryptografisk tilfeldig nøkkel. Denne nøkkelen er kryptert med en kryptografisk hemmelig nøkkel som også brukes for å signere data som sendes ned til klienten. A client key (clikey) will be generated as a cryptographically random key. The key is unique and will be used by the client to sign requests and by the server to verify authenticity. The client key is further encrypted with another key (enckey) before downloading to the client. The server stores clear test value of clikey. The encryption key (enckey) is also generated as a cryptographic random key. This key is encrypted with a cryptographic secret key that is also used to sign data sent down to the client.

Lisensinformasjonen (licinfo) kan inneholde vilkårlig tekstlig informasjon. Som et minimum må den reflektere den nåværende lisensieirngsfase (prøveperiode eller full lisens) for at klienten skal vite hvordan den skal operere. LisensStatus er et heltall (0=Ukjent, l=Prøve, 2=Full) og parameteren "Licenselnfo" kan være en vilkårlig tekst. For øvrig kan lisensinfo inneholde data som lisensiert bruker, utløpsdato, osv. Disse detaljene er for informasjonsformål og vil ikke brukes av klienten (bortsett fra å vise dem frem på skjermen). Mobil-IP-profilen er fylt inn i henhold til hjemmeagenten. En NAI genereres fra kontoens brukernavn legges til området ("smartroaming.com"). En Mobil-Ip-autentiseringsnøkkel (mipkey) er generert fra tilfeldige data og kryptert med enckey før den lastes ned til klienten. Tjeneren lagrer kun klartekstverdien av nøkkelen. NAI og mipkey er sendt videre også til AAA-tjeneren. The license information (licinfo) can contain arbitrary textual information. At a minimum, it must reflect the current licensing phase (trial or full license) so that the client knows how it will operate. LicenseStatus is an integer (0=Unknown, l=Trial, 2=Full) and the "License Info" parameter can be any text. Otherwise, license info may contain data such as licensed user, expiration date, etc. These details are for information purposes and will not be used by the client (except to display them on the screen). The mobile IP profile is populated according to the home agent. An NAI is generated from the account username added to the site ("smartroaming.com"). A Mobil-Ip authentication key (mipkey) is generated from random data and encrypted with enkey before it is downloaded to the client. The server only stores the plaintext value of the key. NAI and mipkey are forwarded to the AAA server as well.

Hensikten med å kryptere mipkey er å forhindre brukere fra å distribuere detaljene i en SmartRoaming-profil til offentlig og potensiell misbruk i Mobil-IP- klienter andre enn de SmartRoaming-klientene som f.eks. Birdstep tilbyr. Hensikten med å kryptere klikey er å gjøre det vanskeligere å "spoofe" klient-henvendelser. Enhver angriper må da gjette både krypteringsalgoritmen og signeringsalgoritmen. De ukrypterte verdiene av disse nøklene må bare lagres i volatilt minne i klienten. The purpose of encrypting the mipkey is to prevent users from distributing the details of a SmartRoaming profile to the public and potential misuse in Mobile IP clients other than the SmartRoaming clients such as Birdstep offers. The purpose of encrypting the klikey is to make it more difficult to "spoof" client inquiries. Any attacker must then guess both the encryption algorithm and the signing algorithm. The unencrypted values of these keys need only be stored in volatile memory in the client.

Signaturer kalkuleres over hele "acctinfo"- og profil-strukturer. Krypterte verdier må inkluderes i kalkulasjonen i stedet for å bruke de korresponderende klartekst-verdier. Dette fordi klienten bare vil kjenne de krypterte verdiene, og signaturen må matche dette. Klienten vil bruke signaturene til å verifisere at den nedlastede konfigurasjonen er autentisk før delene benyttes. Signatures are calculated over entire "acctinfo" and profile structures. Encrypted values must be included in the calculation instead of using the corresponding plaintext values. This is because the client only wants to know the encrypted values, and the signature must match this. The client will use the signatures to verify that the downloaded configuration is authentic before using the parts.

Navnet https- henvendelse The name https request

Dataflyt og sikkerhetsaspekter av å sende en navnet henvendelse er illustrert i figur 5 og 6. Figur 5 tilsvarer eksemplet når ingen konfigurasjonsdata trenger å lastes ned. Figur 6 beskriver eksemplet når enten profilkonfigurasjon eller kontoinformasjon trengs å oppdateres. Data flow and security aspects of sending a named request are illustrated in Figures 5 and 6. Figure 5 corresponds to the example when no configuration data needs to be downloaded. Figure 6 describes the example when either profile configuration or account information needs to be updated.

Før sending av en navnet forespørsel må klienten verifisere konfigurasjonsstrukturene mot signaturene for å forsikre at de er autentiske. Den kryptografiske hemmelige nøkkelen 327 må brukes for å verifisere strukturene. Signaturnøkkelstrukturen 328 kan brukes til å verifisere de andre konfigurasjonsstrukturene. Klienten må da verifisere at den har en gyldig lisens ved å sammenligne terminal-id (320) i "acctinfo"-strukturen med den virkelige id rapportert av terminalen selv. Signaturnøkkelen brukes i denne kalkulasjonen og clikey må dekrypteres først ved bruk av enckey. Dersom lisens-veriflkasjonen er OK kan klienten fortsette med å sende navnet henvendelse. Before sending a named request, the client must verify the configuration structures against the signatures to ensure they are authentic. The cryptographic secret key 327 must be used to verify the structures. The signature key structure 328 can be used to verify the other configuration structures. The client must then verify that it has a valid license by comparing the terminal id (320) in the "acctinfo" structure with the real id reported by the terminal itself. The signature key is used in this calculation and clikey must be decrypted first when using enkey. If the license verification is OK, the client can continue to send the name request.

Den navnede forespørselen vil inkluderer brukernavnet sammen med terminal-id. Parameterlisten i forespørselen vil være signert ved bruk av parameteren clikey (igjen etter dekryptering av nøkkelen) og signaturen føyd til parametrene i tillegg til en utfordrer-verdi. På tjenersiden brukes terminal/bruker-id-kombinasjonen til å slå opp kontoinformasjonen. Den korresponderende clikey vil bli brukt til å verifisere signaturen til forespørselen. Dersom de alle stemmer, er kontoen verifisert og tjeneren kan fortsette direkte uten ytterligere brukerautentisering. Dersom verifikasjonen feiler er forespørselen ikke gyldig og må droppes. The named request will include the username along with the terminal id. The parameter list in the request will be signed using the clikey parameter (again after decrypting the key) and the signature added to the parameters in addition to a challenger value. On the server side, the terminal/user ID combination is used to look up the account information. The corresponding clikey will be used to verify the signature of the request. If they all match, the account is verified and the server can continue directly without further user authentication. If the verification fails, the request is not valid and must be dropped.

For tilfellet med nedlasting (figur 6) er kryptering og signaturkalkulasjon nøyaktig den samme som en anonym forespørsel. For the download case (Figure 6), the encryption and signature calculation is exactly the same as an anonymous request.

Mobil- IP- registrering Mobile IP registration

Dataflyt og sikkerhetsaspekter ved å sende Mobil-IP-registreringsforespørsel er vist i figuren under. Kommunikasjon av UDP/434 med Mobil lp agenten representerer et annet signaleringsplan enn HTTP(S)-kommunikasjonen med leveransetjeneren. Mipkey må dekrypteres i klienten for å kalkulere autentikatoren til Mobil IP registreringsmeldingen. Dette krever i sin tur at enkey er dekryptert. På tjenestesiden (hjemmeagenten i dette eksemplet), hentes klartekstnøkkelen fra RADIUS-tjeneren og autentikatoren verifiseres. Data flow and security aspects of sending Mobile IP registration request are shown in the figure below. UDP/434 communication with the Mobil lp agent represents a different signaling scheme than the HTTP(S) communication with the delivery server. Mipkey must be decrypted in the client to calculate the authenticator for the Mobile IP registration message. This in turn requires that the enkey is decrypted. On the service side (the home agent in this example), the cleartext key is obtained from the RADIUS server and the authenticator is verified.

Claims (15)

1. Klient/tjener arrangement for sikker og automatisk konfigurering av en trådløs terminal med en klient (100) for et lisensnøkkelavhengig, bruker-spesifikt tjenesteabonnement tilveiebrakt av en tjenesteleverandør gjennom fremstilling og bruk av krypteringsnøkler og bruker-spesifikk informasjon i en tjener (103), og hvor tjeneren (103) er anordnet i en vertsdatamaskin tilsluttet tjenesteleverandøren,karakterisert vedat klienten (100) er anordnet til å overføre fra terminalen en forespørsel om aktivering av det brukerspesifikke tjenesteabonnementet til tjeneren (103) omfattende en terminal-spesifikk identitet (320) og en bruker-identitet (321) innmatet av brukeren, og at tjeneren (103) er anordnet til a) å aktivere det forespurte lisensnøkkelavhengige, brukerspesifikke tjenesteabonnementet ved å generere en lisensnøkkel (324 licinfo), en klient-krypteringsnøkkel (322 clikey), en bruker-spesifikk klientnøkkel (326 mipkey) og en generell krypteringsnøkkel (323 enckey) for benyttelse til å kryptere data som oversendes mellom tjeneren og terminalen, b) å kryptere den generelle krypteringsnøkkelen (323 enckey) med en kryptografisk hemmelig nøkkel (327), c) å lagre bruker-identitet (321), terrriinal-spesifikk identitet (320) og bruker-spesifikk klientnøkkel (326) i en database, og d) å returnere til klienten (100) lisensnøkkel (324 licinfo), klient-krypteringsnøkkel (322 clikey), bruker-spesifikk klientnøkkel (326 mipkey) kryptert med den generelle krypteringsnøkkelen (323 enckey) sammen med den generelle krypteringsnøkkelen (323 enckey) kryptert med en kryptografisk hemmelig nøkkel (327), og at klienten (100) er anordnet til å konfigurere terminalen for det lisensnøkkelavhengige, brukerspesifikke tjenesteabonnementet ved å dekryptere den generelle krypteringsnøkkelen (323 enckey) med den kryptografiske hemmelige nøkkelen (327) og å dekryptere klientkrypteirngsnøkkelen (322 clikey), lisensnøkkelen (324 licinfo) og konfigureringsinformasjon oversendt fra tjeneren med den generelle krypteringsnøkkelen (323 enckey), og at klienten (100) er videre anordnet til å utnytte i terminalen konfigurert med den dekrypterte lisensnøkkelen og den dekrypterte konfigureringsinformasjonen, det lisensnøkkelavhengige, brukerspesifikke tjenesteabonnementet ved å benytte klientkrypteringsnøkkel (322 clikey) til signering av senere henvendelser til tjenesteleverandøren som angår det brukerspesifikke tjenesteabonnementet.1. Client/server arrangement for secure and automatic configuration of a wireless terminal with a client (100) for a license key-dependent, user-specific service subscription provided by a service provider through the generation and use of encryption keys and user-specific information in a server (103), and where the server (103) is arranged in a host computer connected to the service provider, characterized in that the client (100) is arranged to transmit from the terminal a request for activation of the user-specific service subscription to the server (103) comprising a terminal-specific identity (320) and a user identity (321) entered by the user, and that the server (103) is arranged to a) activate the requested license key-dependent, user-specific service subscription by generating a license key (324 licinfo), a client encryption key (322 clikey), a user -specific client key (326 mipkey) and a general encryption key (323 enckey) for use to NOK ypter data transmitted between the server and the terminal, b) to encrypt the general encryption key (323 enkey) with a cryptographic secret key (327), c) to store user identity (321), territory-specific identity (320) and user- specific client key (326) in a database, and d) returning to the client (100) license key (324 licinfo), client-encryption key (322 clikey), user-specific client key (326 mipkey) encrypted with the general encryption key (323 enckey) together with the general encryption key (323 enckey) encrypted with a cryptographic secret key (327), and that the client (100) is arranged to configure the terminal for the license key-dependent, user-specific service subscription by decrypting the general encryption key (323 enckey) with the cryptographic the secret key (327) and to decrypt the client encryption key (322 clikey), the license key (324 licinfo) and configuration information transmitted from the server with the or the encryption key (323 enkey), and that the client (100) is further arranged to utilize, in the terminal configured with the decrypted license key and the decrypted configuration information, the license key-dependent, user-specific service subscription by using the client encryption key (322 clikey) for signing subsequent inquiries to the service provider concerning the user-specific service subscription. 2. Arrangement ifølge krav 1, viderekarakterisert vedat tjeneren er anordnet til å registrere terminalen og klienten (100) for den bruker-spesifikke tjenesten og at klienten (100) ved mottak av feilkode ved bruk av tjenesten, videre er anordnet til å overføre fra terminalen til tjeneren (103) en forespørsel om tjenesteaktivering der en terminal-spesifikk identiteten (320) og den bruker-identiteten (321) oppgis i forespørselen, og å signere denne forespørselen av klienten med klientkrypteirngsnøkkelen (322 clikey), at tjeneren (103) er anordnet til å kontrollere at forespørselen fra klienten (100) er signert med klient-krypteringsnøkkel (322 clikey), og dersom forespørselen er korrekt gjennomføres lisens-aktivering og dersom forespørselen er signert feil behandles forespørselen som en anonym henvendelse som beskrevet i punkt 1, at tjeneren (103) er anordnet til å foreta lisens aktivering ved å be brukeren om å akseptere tjenestevilkår og oppgi betalingsinformasjon, og at tjeneren (103) er videre anordnet til å oversende betalingsinformasjon til kredittkort-selskap (104), ved aksept overføres oppdatert lisensinformasjon til klienten (100) og AAA-database oppdateres, og ved avslag avvises forespørselen.2. Arrangement according to claim 1, further characterized in that the server is arranged to register the terminal and the client (100) for the user-specific service and that the client (100) upon receiving an error code when using the service, is further arranged to transfer from the terminal to the server (103) a request for service activation where a terminal-specific identity (320) and the user identity (321) are provided in the request, and signing this request by the client with the client encryption key (322 clikey), that the server (103) is arranged to check that the request from the client (100) is signed with a client encryption key (322 clikey), and if the request is correct, license activation is carried out and if the request is signed incorrectly, the request is treated as an anonymous inquiry which described in point 1, that the server (103) is arranged to carry out license activation by asking the user to accept terms of service and provide payment information, and that the server (103) is further arranged to transmit payment information to the credit card company (104), upon acceptance, updated license information is transferred to the client (100) and the AAA database is updated, and upon refusal, the request is rejected. 3. Arrangement ifølge krav 2,karakterisert ved at det lisensnøkkelavhengige, brukerspesifikke tjenesteabonnementet tilveiebringer er Mobil-IP-tjeneste, og at feilkoden er feilmelding 131 fra en Mobil-IP-hjemmeagent (101) i henhold til Mobil-IP-standarden definert i IETF RFC3344.3. Arrangement according to claim 2, characterized by that the license key-dependent, user-specific service subscription provides is Mobile IP service, and that the error code is error message 131 from a Mobile IP home agent (101) according to the Mobile IP standard defined in IETF RFC3344. 4. Arrangement ifølge kravl, viderekarakterisert ved at klienten (100) også er anordnet til å overføre til tjeneren informasjon som omfatter klientmodell/-versjonsnummer, terminaloperativsystemtype og operativsystem- versjon, foretrukket språk og årsak for forespørselen om aktivering.4. Arrangement according to crawl, further characterized by that the client (100) is also arranged to transfer to the server information that includes the client model/version number, terminal operating system type and operating system version, preferred language and reason for the request for activation. 5. Arrangement ifølge kravl, viderekarakterisert vedat tjeneren (103) er anordnet til å kreve fra klienten at det også oppgis en gyldig emailadresse eller et gyldig mobilterminalnummer som senere kan benyttes til å kontakte kunden.5. Arrangement according to krawl, further characterized in that the server (103) is arranged to require the client to also provide a valid email address or a valid mobile terminal number which can later be used to contact the customer. 6. Arrangement ifølge kravl, viderekarakterisert vedat tjeneren (103) er anordnet til å overføre til en tillatelse til klienten (100) for reinstallasjon ved utstedelse av en kopi av konfigurasjonsinformasjon når forespørselen om aktivering inneholder en for tjeneren kjent terminal spesifikk identitet (320) og brukeren oppgir et brukernavn (321) som eksisterer hos tjeneren fra før.6. Arrangement according to claim, further characterized in that the server (103) is arranged to transfer to a permission to the client (100) for reinstallation by issuing a copy of configuration information when the request for activation contains a terminal specific identity (320) known to the server and the user provides a user name (321) that already exists with the server. 7. Arrangement ifølge kravl, viderekarakterisert vedat tjeneren er anordnet til å tillate lisens-overføring ved utstedelse av en ny signert konfigurasjonsinformasjon når forespørselen om aktivering inneholder en ny terminalspesifikk identitet (320) og brukeren oppgir et brukernavn (321) som eksisterer hos tjeneren fra før.7. Arrangement according to krawl, further characterized in that the server is arranged to allow license transfer by issuing a new signed configuration information when the request for activation contains a new terminal-specific identity (320) and the user provides a username (321) that already exists with the server. 8. Arrangement ifølge krav7, viderekarakterisert vedat tjeneren er anordnet til å tillate gjentatt lisens-overføring kun et forutbestemt antall ganger ved å sette en sperre for antall lisens-overføringer som er tillatt per registrerte brukernavn (321).8. Arrangement according to claim 7, further characterized in that the server is arranged to allow repeated license transfers only a predetermined number of times by setting a block for the number of license transfers that are allowed per registered user name (321). 9. Arrangement ifølge kravl, viderekarakterisert vedat tjeneren (103) er anordnet til å blokkere for utstedelse av konfigurasjonsinformasjon når forespørselen om aktivering inneholder en for tjeneren kjent terminalspesifikk identitet (320) og brukeren oppgir et for tjeneren nytt brukernavn (321).9. Arrangement according to claim, further characterized in that the server (103) is arranged to block the issuance of configuration information when the request for activation contains a terminal-specific identity (320) known to the server and the user provides a user name (321) new to the server. 10. Arrangement ifølge kravl, viderekarakterisert vedat klienten (100) er anordnet til å detektere at det er registrert en terminalspesifikk identitet som ikke har gyldig lisens, og å tilby brukeren automatisk opprettelse av konfigurasjon og lisens.10. Arrangement according to kravl, further characterized in that the client (100) is arranged to detect that a terminal-specific identity that does not have a valid license has been registered, and to offer the user automatic creation of configuration and license. 11. Arrangement ifølge kravl, viderekarakterisert vedat klienten (100) er anordnet til å detektere at versjon av konfigurasjonsdata i klienten ikke stemmer overens med klientprogramvareversjon, og å tilby brukeren automatisk oppdatering av konfigurasjonsinformasjon til riktig versjon.11. Arrangement according to claim, further characterized in that the client (100) is arranged to detect that the version of configuration data in the client does not correspond to the client software version, and to offer the user automatic updating of configuration information to the correct version. 12. Arrangement ifølge kravl, viderekarakterisert vedat klienten (100) er anordnet til å detektere at det ikke er mulig å nå hjemmeagenten (101) og å redirigere brukeren til en webside som tilbyr assistanse til konfigurasjon.12. Arrangement according to kravl, further characterized in that the client (100) is arranged to detect that it is not possible to reach the home agent (101) and to redirect the user to a website that offers assistance with configuration. 13. Arrangement ifølge kravl, viderekarakterisert vedat tjeneren (103) er anordnet til å utstede en "leverandørdel" for en tredjepart som kan gi denne tredjepart anledning til å utstede lisenser for aktivering av lisensnøkkelavhengige, brukerspesifikke tjenesteabonnement, uten at denne tredjepart får adgang til å endre tjenesteleverandør og nettadresse for konfigurasjon.13. Arrangement according to krawl, further characterized in that the server (103) is arranged to issue a "provider part" for a third party which can give this third party the opportunity to issue licenses for the activation of license key-dependent, user-specific service subscriptions, without this third party gaining access to change service provider and web address for configuration. 14. Arrangement ifølge kravl, viderekarakterisert vedat tjeneren (103) er anordnet til å utstede en "leverandørdel" for tredjepart som kan gi denne tredjepart anledning til å utstede signerte profiler, uten at denne tredjepart får adgang til å utstede lisenser for klientprogramvare.14. Arrangement according to krawl, further characterized in that the server (103) is arranged to issue a "supplier part" for third parties which can give this third party the opportunity to issue signed profiles, without this third party gaining access to issue licenses for client software. 15. Arrangement ifølge kravl, viderekarakterisert vedat tjeneren er anordnet til å signere konfigurasjonen som overføres fra tjeneren (103) til klienten (100) for å unngå feilaktig konfigurasjon og tjenestenektangrep mot klienten.15. Arrangement according to kravl, further characterized in that the server is arranged to sign the configuration that is transferred from the server (103) to the client (100) in order to avoid incorrect configuration and denial of service attacks against the client.
NO20054840A 2005-09-22 2005-09-22 Method and arrangement for automatic service delivery, licensing and configuration of client software NO326342B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
NO20054840A NO326342B1 (en) 2005-09-22 2005-09-22 Method and arrangement for automatic service delivery, licensing and configuration of client software
PCT/NO2006/000325 WO2007046706A1 (en) 2005-09-22 2006-09-22 Method and arrangement for automatic provisioning, licensing and configuration of client software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NO20054840A NO326342B1 (en) 2005-09-22 2005-09-22 Method and arrangement for automatic service delivery, licensing and configuration of client software

Publications (3)

Publication Number Publication Date
NO20054840D0 NO20054840D0 (en) 2005-09-22
NO20054840L NO20054840L (en) 2007-03-23
NO326342B1 true NO326342B1 (en) 2008-11-10

Family

ID=35428088

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20054840A NO326342B1 (en) 2005-09-22 2005-09-22 Method and arrangement for automatic service delivery, licensing and configuration of client software

Country Status (2)

Country Link
NO (1) NO326342B1 (en)
WO (1) WO2007046706A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539046B2 (en) 2007-06-15 2013-09-17 Microsoft Corporation Delegated pre-configuration
AU2013361220A1 (en) 2012-12-21 2015-04-02 Pioneer Hi-Bred International, Inc. Compositions and methods for auxin-analog conjugation
US20160040149A1 (en) 2013-03-14 2016-02-11 Pioneer Hi-Bred International Inc. Compositions Having Dicamba Decarboxylase Activity and Methods of Use
US20140289906A1 (en) 2013-03-14 2014-09-25 Pioneer Hi-Bred International, Inc. Compositions Having Dicamba Decarboxylase Activity and Methods of Use

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20031482A (en) * 2003-10-10 2005-04-11 Open Bit Oy Ltd processing   of   payment transaction data
JP4311174B2 (en) * 2003-11-21 2009-08-12 日本電気株式会社 Authentication method, mobile radio communication system, mobile terminal, authentication side device, authentication server, authentication proxy switch, and program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Deploying WI-FI Protected Access (WPATM) and WPA A2TM in the Enterprise *
Windows IEEE 802.11 Wireless LAN Security with Microsoft Windows XP *

Also Published As

Publication number Publication date
WO2007046706A1 (en) 2007-04-26
NO20054840L (en) 2007-03-23
NO20054840D0 (en) 2005-09-22

Similar Documents

Publication Publication Date Title
US7373515B2 (en) Multi-factor authentication system
CN101507233B (en) Method and apparatus for providing trusted single sign-on access to applications and internet-based services
CN1701295B (en) Method and system for a single-sign-on access to a computer grid
US6766454B1 (en) System and method for using an authentication applet to identify and authenticate a user in a computer network
CA2573101C (en) System and method for implementing digital signature using one time private keys
KR100621420B1 (en) Network connection system
US8775794B2 (en) System and method for end to end encryption
US20090055642A1 (en) Method, system and computer program for protecting user credentials against security attacks
EP2165503B1 (en) Received message verification
US20130219477A1 (en) Transparent client authentication
AU2005255513A1 (en) Method, system and computer program for protecting user credentials against security attacks
EP3545659A1 (en) Handset identifier verification
US20100255813A1 (en) Security in a telecommunications network
CN115396121B (en) Security authentication method for security chip OTA data packet and security chip device
CN1973518A (en) Authentication of untrusted gateway without disclosure of private information
KR20210095093A (en) Method for providing authentification service by using decentralized identity and server using the same
CA2553081C (en) A method for binding a security element to a mobile device
NO326342B1 (en) Method and arrangement for automatic service delivery, licensing and configuration of client software
WO2007060016A2 (en) Self provisioning token
CN114143777B (en) Certificate key downloading method and system of internet of things terminal based on SIM card
Bachl The end of the password era: towards password-less authentication based on enhanced FIDO
CA2471917A1 (en) A method, system and computer program for protecting user credentials against security attacks

Legal Events

Date Code Title Description
CREP Change of representative

Representative=s name: ZACCO NORWAY AS POSTBOKS 2003 VIKA OSLO, 0125 NO

CHAD Change of the owner's name or address (par. 44 patent law, par. patentforskriften)

Owner name: SMITH MICRO SOFTWARE INC., US