NO338937B1 - Procedure for generating security code. - Google Patents

Procedure for generating security code. Download PDF

Info

Publication number
NO338937B1
NO338937B1 NO20074124A NO20074124A NO338937B1 NO 338937 B1 NO338937 B1 NO 338937B1 NO 20074124 A NO20074124 A NO 20074124A NO 20074124 A NO20074124 A NO 20074124A NO 338937 B1 NO338937 B1 NO 338937B1
Authority
NO
Norway
Prior art keywords
user
service provider
code
user device
security code
Prior art date
Application number
NO20074124A
Other languages
Norwegian (no)
Other versions
NO20074124L (en
Inventor
Erik Lindmo
Petter Taugbøl
Original Assignee
Allclear Id Inc
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
Priority claimed from NO20050152A external-priority patent/NO20050152D0/en
Application filed by Allclear Id Inc filed Critical Allclear Id Inc
Priority to NO20074124A priority Critical patent/NO338937B1/en
Publication of NO20074124L publication Critical patent/NO20074124L/en
Publication of NO338937B1 publication Critical patent/NO338937B1/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Liquid Crystal Substances (AREA)
  • Devices For Executing Special Programs (AREA)
  • Iron Core Of Rotating Electric Machines (AREA)
  • Storage Device Security (AREA)

Description

Denne oppfinnelse gjelder en fremgangsmåte ved frembringelse av en reproduserbar sikkerhetskode for brukerautentisering og for lagring, signering og kryptering/dekryptering av informasjon ved hjelp av en programmerbar brukeranordning. Oppfinnelsen gjelder også fremgangsmåter hvor den reproduserbare sikkerhetskode utnyttes for forskjellige sikkerhetsformål, og en tilsvarende programmerbar brukeranordning. This invention relates to a method for generating a reproducible security code for user authentication and for storing, signing and encrypting/decrypting information using a programmable user device. The invention also applies to methods where the reproducible security code is used for various security purposes, and a corresponding programmable user device.

I mange situasjoner hvor tjenesteleverandører tilbyr tjenester og overføring av informasjon til allmennheten gjennom elektroniske media er det behov for en mekanisme som sørger for verifisert identifisering av den enkelte som mottar tjenesten eller utveksler informasjon med tjenesteleverandøren. Tradisjonelle autentiseringsarrangementer anvender par av brukernavn og passord for å autentisere brukere. Denne enkle metode gir imidlertid minimal sikkerhet. For å oppnå en høyere grad av sikkerhet er det stadig mer vanlig å bruke såkalt to-faktorautentisering. Sådan to-faktorautentisering er basert på en "noe du vet"-komponent (slik som et passord) og en "noe du har"-komponent, idet et eksempel er et bankkort (som du har) og den tilhørende PIN-kode (Personal Identification Number) (som du kjenner til). In many situations where service providers offer services and transfer information to the public through electronic media, there is a need for a mechanism that ensures verified identification of the individual receiving the service or exchanging information with the service provider. Traditional authentication schemes use pairs of usernames and passwords to authenticate users. However, this simple method provides minimal security. To achieve a higher degree of security, it is increasingly common to use so-called two-factor authentication. Such two-factor authentication is based on a "something you know" component (such as a password) and a "something you have" component, an example being a bank card (which you have) and the corresponding PIN code (Personal Identification Number) (that you know).

Dersom et passord skal sendes over et åpent telekommunikasjons- eller datanett kan det lett fanges opp av andre. Det er derfor ønskelig å tillate bruk av såkalte engangs- passord (dynamiske passord) i stedet for faste (statiske) passord (slik som PIN-koder). For dette formål bruker f.eks. mange banker kortlignende halvlederanordninger (også betegnet "security tokens") som beregner og viser frem en engangspasskode (dvs. et tidsvarierende tall) på en liten skjerm. Ved å legge dette tall inn i et system når autentisering (login) forsøkes, beviser den person som gjør dette at han er i besittelse av anordningen. Et eksempel på en sådan halvlederanordning er beskrevet i US-patent nr. 4 599 4S9. For å øke sikkerheten er halvlederanordningen ofte selv beskyttet med en PIN-kode som fordres for å "åpne" anordningen. I så fall må først den korrekte PIN-kode legges inn før de korrekte passkodetall vises frem. If a password is to be sent over an open telecommunications or computer network, it can easily be intercepted by others. It is therefore desirable to allow the use of so-called one-time passwords (dynamic passwords) instead of fixed (static) passwords (such as PIN codes). For this purpose, e.g. many banks are card-like semiconductor devices (also called "security tokens") that calculate and display a one-time passcode (ie a time-varying number) on a small screen. By entering this number into a system when authentication (login) is attempted, the person doing this proves that he is in possession of the device. An example of such a semiconductor device is described in US Patent No. 4,599,459. To increase security, the semiconductor device itself is often protected with a PIN code that is required to "open" the device. In that case, the correct PIN code must first be entered before the correct passcode numbers are displayed.

Et problem med halvlederanordninger av denne type er de betraktelige omkostninger ved deres anskaffelse og distribusjon. Et annet problem er at en person som er en registrert bruker av diverse tjenester, slik som f.eks. banktjenester fra forskjellige institusjoner via Internett, hvor bruken av hver fordrer en separat halvlederanordning, vil måtte ta vare på og håndtere en mengde forskjellige anordninger. Det vil absolutt være fordelaktig for allmennheten om flere tjenesteleverandører kunne benytte en og samme halvlederanordning som en felles eller generisk "flerkodekalkulator" for en mengde tjenester. På den annen side er det kjent arrangementer som muliggjør implementering av sikker-hetstiltak i elektronisk utstyr av forskjellig slag. For eksempel kan programvare lagret i en kommunikasjonsterminal brukes for en sikker kommunikasjonstjeneste mellom en bruker og en tjenesteleverandør. Den programvare som behøves må lagres som selvstendige dataprogrammer i terminalens hukommelse. I en og samme terminal kan det lagres brukerprogrammer som stammer fra forskjellige tjenesteleverandører for mange slags formål. A problem with semiconductor devices of this type is the considerable cost of their acquisition and distribution. Another problem is that a person who is a registered user of various services, such as e.g. banking services from different institutions via the Internet, where the use of each requires a separate semiconductor device, will have to care for and handle a multitude of different devices. It would certainly be beneficial to the public if several service providers could use one and the same semiconductor device as a common or generic "multi-code calculator" for a number of services. On the other hand, arrangements are known which enable the implementation of security measures in electronic equipment of various kinds. For example, software stored in a communication terminal can be used for a secure communication service between a user and a service provider. The software that is needed must be stored as independent computer programs in the terminal's memory. In one and the same terminal, user programs originating from different service providers can be stored for many different purposes.

En person som ønsker å bruke et dataprogram for en tjeneste, slik som en sikker kommunikasjonstjeneste, må normalt registrere programmet hos tjenesteleverandøren før han tillates å kjøre vedkommende program på en datamaskin for sikker kommunikasjon med vedkommende tjenesteleverandør. Så snart han er en registrert bruker kan han kjøre dette program på en hvilken som helst datamaskin, vanligvis ved å legge inn sitt brukernavn og passord, eventuelt en engangspasskode f.eks. fremskaffet av den kortlignende halvlederanordning nevnt ovenfor. Denne prosedyre sikrer at brukeren er i besittelse av det korrekte brukernavn og passord, eller i sistnevnte tilfelle, den korrekte kortlignende halvlederanordning og tilhørende PIN (om nødvendig). A person who wishes to use a computer program for a service, such as a secure communication service, must normally register the program with the service provider before he is allowed to run the program in question on a computer for secure communication with the service provider in question. As soon as he is a registered user, he can run this program on any computer, usually by entering his username and password, possibly a one-time passcode e.g. provided by the card-like semiconductor device mentioned above. This procedure ensures that the user is in possession of the correct username and password, or in the latter case, the correct card-like semiconductor device and associated PIN (if required).

For å unngå de problemer som stammer fra å ha en mengde kortlignende anordninger knyttet til hver enkelt i en mengde av tjenesteleverandører, søker foreliggende oppfinnelse å gjøre bruk av eksisterende og fremtidige, elektroniske informasjonsteknologiske anordninger, typisk sådanne som har kommunikasjonsmulighet, for formålet av sikker identitetsverifisering. In order to avoid the problems arising from having a number of card-like devices linked to each individual in a number of service providers, the present invention seeks to make use of existing and future electronic information technology devices, typically those that have communication capability, for the purpose of secure identity verification .

For å oppnå dette mener oppfinnerene at i stedet for å knytte en brukers identitet til en kortlignende halvlederanordning spesielt konstruert og beregnet på ett eneste formål vil det være mindre kostbart og mye mer fleksibelt å knytte brukerens identitet til en utstyrsenhet som allerede er i hans besittelse eller som primært anskaffes for andre, mer generelle formål enn det som gjelder verifisering av identitet. To achieve this, the inventors believe that instead of linking a user's identity to a card-like semiconductor device specially designed and intended for a single purpose, it would be less expensive and much more flexible to link the user's identity to a device already in his possession or which are primarily acquired for other, more general purposes than those relating to identity verification.

En intensjon med oppfinnelsen er å unngå behovet for noen modifisering eller supplering av maskinvarekonfigurasjonen i eksisterende brukeranordninger som skal benyttes i systemet i henhold til oppfinnelsen. Således bør elektroniske brukeranordninger som er egnet for den foreskrevne bruk som et minimum være programmerbare og ha i det minste et datainngangsgrensesnitt og mulighet for databehandling, datalagring og dataavgivelse. For at anordningen skal virke i henhold til oppfinnelsen må i tillegg datalagringsutstyret omfatte et lesbart, fiklingssikkert lager hvor en utstyrsidentifikator som entydig identifiserer den enkelte anordning, er lagret. One intention of the invention is to avoid the need for any modification or supplementation of the hardware configuration in existing user devices to be used in the system according to the invention. Thus, electronic user devices that are suitable for the prescribed use should as a minimum be programmable and have at least a data input interface and the possibility of data processing, data storage and data transmission. In order for the device to work in accordance with the invention, the data storage equipment must also include a readable, tamper-proof storage where a device identifier that uniquely identifies the individual device is stored.

For å lette informasjonsutvekslingen med utvalgte tjenesteleverandører bør utstyret fortrinnsvis gi brukeren en egnet kommunikasjonsfunksjonalitet. En sådan kommunikasjonsegenskap kan være innebygget i anordningen eller legges til som en funksjonell utvidelse. To facilitate the exchange of information with selected service providers, the equipment should preferably provide the user with a suitable communication functionality. Such a communication feature can be built into the device or added as a functional extension.

I prinsippet kan således mange slags elektroniske brukeranordninger benyttes for implementering av oppfinnelsen. Imidlertid betraktes mobiltelefoner i samsvar med GSMteknikken (Global System for Mobile Communications) å være særlig velegnet for oppfinnelsens formål siden hver GSM-mobiltelefon allerede har en unik utstyrsidentifikator lagret i en hukommelse som står imot fikling, nemlig en "internasjonal mobilutstyrsidentitet" In principle, many kinds of electronic user devices can thus be used for implementing the invention. However, mobile phones in accordance with GSM technology (Global System for Mobile Communications) are considered to be particularly suitable for the purposes of the invention since each GSM mobile phone already has a unique equipment identifier stored in a tamper-proof memory, namely an "international mobile equipment identity".

(IMEI - International Mobile Equipment Identity) som er en kode på siffer som primært brukes for å identifisere en individuell GSM-mobiltelefon overfor et GSMnett eller -operatør. Nærværet av IMEI-koden i en GSM-mobiltelefon er vanligvis obligatorisk for at telefonen skal kunne brukes i GSM-nettet. Således vil fjerning eller endring av IMEI-koden gjøre mobiltelefonen ubrukelig for sitt hovedformål, nemlig telekommunikasjon. (IMEI - International Mobile Equipment Identity) which is a digit code that is primarily used to identify an individual GSM mobile phone to a GSM network or operator. The presence of the IMEI code in a GSM mobile phone is usually mandatory for the phone to be used in the GSM network. Thus, removing or changing the IMEI code will render the mobile phone unusable for its main purpose, namely telecommunications.

I denne forbindelse er eksempler på bruk av IMEI-koder for henholdsvis å kontrollere en mobil stasjons kompatibilitet og styre en mobil stasjons bruksrettighet/aktivering, kjent fra US-patent nr. 6 164 547 og nr. 5 956 633. I tillegg er det fra US-patentsøknadene med publikasjonsnr. 2003/02369S1 og 2004/0030906 kjent å bruke IMEI-koden som nøkkel ved kryptering av enkeltvise SMS-meldinger (Short Message Service) og autentisering av sådanne meldinger ved hjelp av en digital signatur beregnet med IMEI-koden som nøkkel. In this connection, examples of the use of IMEI codes for respectively checking a mobile station's compatibility and controlling a mobile station's right of use/activation are known from US Patent No. 6,164,547 and No. 5,956,633. In addition, it is from The US patent applications with publication no. 2003/02369S1 and 2004/0030906 known to use the IMEI code as key when encrypting individual SMS messages (Short Message Service) and authenticating such messages using a digital signature calculated with the IMEI code as key.

WO 01/31S40 A1 er et ytterligere eksempel på tidligere kjent teknikk, som beskriver hvordan et første engangspassord kan genereres i en mobil stasjon på grunnlag av et personlig identifiseringstall (PIN), en abonnentidentifikator (typisk IMSI i et GSM-nett), en utstyrsidentifikator (typisk IMEI i et GSM-nett) og tiden (altså en tidsvarierende passkode), som så brukes i en autentiseringstjener for å åpne for en telekommunikasjons- WO 01/31S40 A1 is a further example of prior art, which describes how a first one-time password can be generated in a mobile station on the basis of a personal identification number (PIN), a subscriber identifier (typically IMSI in a GSM network), an equipment identifier (typical IMEI in a GSM network) and the time (i.e. a time-varying passcode), which is then used in an authentication server to open a telecommunications

forbindelse mellom den mobile stasjon og et datamaskinsystem. For å utføre identifiseringsprosedyren bruker autentiseringstjeneren abonnentidentifikatoren (IMSI) mottatt fra den mobile stasjon for å søke i en database etter PIN-koden og anordningsidentifikatoren (IMEI) knyttet til vedkommende abonnent, og når alle tre entiteter er gjenvunnet blir de kombinert med tiden for å frembringe et andre engangspassord for sammenligning med det første. connection between the mobile station and a computer system. To perform the identification procedure, the authentication server uses the subscriber identifier (IMSI) received from the mobile station to search a database for the PIN code and the device identifier (IMEI) associated with the subscriber in question, and when all three entities are recovered they are combined with the time to produce a second one-time password for comparison with the first.

Denne løsning muliggjør autentisering overfor et bestemt datamaskinsystem eller tjenesteleverandør, men kan ikke brukes av mer enn den ene tjenesteleverandør uten å gå på akkord med sikkerheten. Dersom den brukes av mer enn en tjenesteleverandør fordrer løsningen at de samme identifikatorer (PIN, IMEI og IMSI) distribueres til hvert datamaskinsystem og derved kompromitteres sikkerheten for alle involverte parter. Videre kan denne løsning bare brukes for autentisering, men ikke for andre sikkerhetsfunksjoner, slik som signering, kryptering og sikker distribusjon, og den kan heller ikke brukes for lokal kryptering og styring av tilgang til følsom informasjon, slik som f.eks. hemmelige (private) PKI-nøkler (Public Key Infrastructure) lagret i en mobiltelefon. This solution enables authentication to a particular computer system or service provider, but cannot be used by more than one service provider without compromising security. If it is used by more than one service provider, the solution requires that the same identifiers (PIN, IMEI and IMSI) be distributed to each computer system, thereby compromising the security of all parties involved. Furthermore, this solution can only be used for authentication, but not for other security functions, such as signing, encryption and secure distribution, nor can it be used for local encryption and control of access to sensitive information, such as e.g. secret (private) PKI keys (Public Key Infrastructure) stored in a mobile phone.

Den tidligere kjente, identifiserende prosess beskrevet i WO 01/31S40 A1 er en skjult prosess for brukeren som ikke fordrer noe samvirke med brukeren og den representerer bare en svak autentisering av brukeren på autentiseringstidspunktet. I tillegg er alle identifikatorer som behøves i prosessen, innbefattet brukerens PIN, lagret i den mobile stasjon så vel som i datamaskinsystemet hos de respektive tjenesteleverandører. Denne løsning er også begrenset til at tiden brukes som den eneste kilde til varierbar inngangsstørrelse for beregningen av engangspassordet, hvilket begrenser metodens fleksibilitet ytterligere. The previously known identifying process described in WO 01/31S40 A1 is a hidden process for the user that does not require any cooperation with the user and it only represents a weak authentication of the user at the time of authentication. In addition, all identifiers needed in the process, including the user's PIN, are stored in the mobile station as well as in the computer system of the respective service providers. This solution is also limited to time being used as the only source of variable input size for the calculation of the one-time password, further limiting the method's flexibility.

US 5657388 beskriver en token basert mekanisme for autentisering basert på å kombinere en hemmelig kode lagret på en fysisk enhet, bruker input (en PIN kode) samt en variabel input (tid eller lignende) for å produsere en ikke-forutsigbar, engangskode for å få adgang til ressurser på en vertsmaskin. Metoden bygger på at vertsmaskinen verifiserer brukerens identitet ved å sammenligne engangskoden som er mottatt fra brukeren med en engangskode som generes på vertsmaskinen der engangskoden genereres på vertsmaskinen fra en kopi av sikkerhetskoden og bruker input som er lagret på vertsmaskinen. US 5657388 tilbyr en metode for å verifisere identiteten hos en bruker mot ett enkelt system ved å bruke en token-generert engangskode, men denne kan ikke benyttes som mekanisme mot flere uavhengige vertsmaskiner. To vertsmaskiner som ønsker å bruke samme token-mekanisme fra en og samme bruker vil i praksis måtte lagre samme sikkerhetskode hos begge og dermed kompromitteres hemmeligheten ved sikkerhetskoden. Videre lagres brukerens PIN på vertsmaskinene. US 5657388 angir en fremgangsmåte for å verifisere identiteten av en bruker, den kan ikke brukes til kryptering av informasjon som sendes fra en tjenestetilbyder til en bruker eller for å signere data fra bruker til brukersted fordi US 5657388 ikke angir hvordan reproduserbare sikkerhetskoder genereres/produseres. US 5657388 describes a token based mechanism for authentication based on combining a secret code stored on a physical device, using input (a PIN code) as well as a variable input (time or similar) to produce a non-predictable, one-time code to obtain access to resources on a host machine. The method is based on the host machine verifying the user's identity by comparing the one-time code received from the user with a one-time code generated on the host machine where the one-time code is generated on the host machine from a copy of the security code and uses input stored on the host machine. US 5657388 offers a method for verifying the identity of a user against a single system by using a token-generated one-time code, but this cannot be used as a mechanism against several independent host machines. Two host machines that want to use the same token mechanism from one and the same user will in practice have to store the same security code with both and thus the secrecy of the security code is compromised. Furthermore, the user's PIN is stored on the host computers. US 5657388 specifies a method for verifying the identity of a user, it cannot be used to encrypt information sent from a service provider to a user or to sign data from user to user location because US 5657388 does not specify how reproducible security codes are generated/produced.

I JP-patentpublikasjon nr. 2003 410949 er det beskrevet et system og en fremgangsmåte som genererer entydige koder og viser frem kodene på en brukers mobiltelefon, f.eks. i form av et bilde. Brukeren benytter bildet og en "brukerhemmelighet" for å autentisere seg selv overfor en tjenesteleverandør eller datamaskinsystem for tilgang til en tjeneste, slik som en kontantuttaks- eller betalingstjeneste. Bortsett fra å fordre ytterligere brukersamvirke har metoden en svakhet ved at koden utilsiktet kan avsløres fra fremviservinduet. Denne metode gjør ikke bruk av mobilterminal-identifikatorer for å generere brukerens autentiseringsdata. Den mobile terminal brukes bare som en kommunikasjonsterminal og ikke som en robust besittelsesfaktor (noe du har) i en tofaktorautentisering. In JP patent publication no. 2003 410949, a system and method is described which generates unique codes and displays the codes on a user's mobile phone, e.g. in the form of an image. The user uses the image and a "user secret" to authenticate themselves to a service provider or computer system to access a service, such as a cash withdrawal or payment service. Apart from requiring additional user cooperation, the method has a weakness in that the code can be inadvertently revealed from the viewer window. This method does not make use of mobile terminal identifiers to generate the user's authentication data. The mobile terminal is only used as a communication terminal and not as a robust possession factor (something you have) in a two-factor authentication.

I sammenheng med foreliggende oppfinnelse vil IMEI-koden for en mobiltelefon utnyttes som den unike utstyrsidentifikator som fordres for at mobiltelefonen skal virke i henhold til oppfinnelsen. In the context of the present invention, the IMEI code for a mobile phone will be used as the unique equipment identifier required for the mobile phone to work in accordance with the invention.

Sikkerhetsmekanismer som kan brukes for å gjøre tilgang til flere ulike tjenesteleverandører er ofte basert på såkalte offentlige nøkkelalgoritmer (public key algorithms). I et PKI-system behøver de hemmelige nøkler (private keys) å bli lagret på en sikker måte, mens de allmenne nøkler (public keys) kan publiseres i kataloger eller sertifikater signert av en betrodd tredjepart. For å være sikker på at hemmelige (private) nøkler kan brukes utelukkende under brukerens styring er det vanlig å ha nøklene lagret i en "nøkkelbeholder" i maskinvare, slik som et smartkort eller SIM-kort (Subscriber Indentity Module). Hovedproblemet med sådanne systemer er omkostningene ved produksjon og distribusjon av maskinvaren. Foreliggende oppfinnelse gir en mye billigere løsning på dette behov for en fiklingsbestandig, brukerstyrt nøkkelbeholder. Security mechanisms that can be used to access several different service providers are often based on so-called public key algorithms. In a PKI system, the secret keys (private keys) need to be stored securely, while the public keys (public keys) can be published in directories or certificates signed by a trusted third party. To be sure that secret (private) keys can be used exclusively under the control of the user, it is common to have the keys stored in a "key container" in hardware, such as a smart card or SIM card (Subscriber Identity Module). The main problem with such systems is the cost of manufacturing and distributing the hardware. The present invention provides a much cheaper solution to this need for a tamper-resistant, user-controlled key container.

Et aspekt av foreliggende oppfinnelse gjelder en fremgangsmåte ved frembringelse av en reproduserbar sikkerhetskode for brukerautentisering og for lagring, signering og kryptering/dekryptering av informasjon ved hjelp av en programmerbar brukeranordning som omfatter i det minste et datainngangsgrensesnitt, databehandlingsutstyr og datalagringsutstyr som omfatter et lesbart, fiklingssikkert lager hvor en utstyrsidentifikator som entydig identifiserer brukeranordningen, er lagret på forhånd, idet fremgangsmåten omfatter trinn hvor: - det via nevnte datainngangsgrensesnitt legges inn en personlig brukerkode i brukeranordningen, One aspect of the present invention relates to a method for generating a reproducible security code for user authentication and for storing, signing and encrypting/decrypting information using a programmable user device comprising at least a data input interface, data processing equipment and data storage equipment comprising a readable, tamper-proof store where a device identifier that uniquely identifies the user device is stored in advance, as the method includes steps where: - a personal user code is entered into the user device via the aforementioned data input interface,

- utstyrsidentifikatoren hentes fra brukeranordningens datalagringsutstyr, - the equipment identifier is retrieved from the user device's data storage equipment,

- inne i brukeranordningen beregnes det en sikkerhetskode på grunnlag av en kombinasjon av i det minste nevnte utstyrsidentifikator og nevnte personlige brukerkode, og - den beregnede sikkerhetskode avgis, idet den derved beregnede sikkerhetskode i seg selv representerer både brukeren og brukeranordningen. - inside the user device, a security code is calculated on the basis of a combination of at least the aforementioned equipment identifier and said personal user code, and - the calculated security code is issued, as the thus calculated security code in itself represents both the user and the user device.

Fremgangsmåten i henhold til oppfinnelsen genererer data for brukeridentifisering med to faktorer uten behov for på noen måte å registrere eller lagre den personlige brukerkode. The method according to the invention generates data for user identification with two factors without the need to register or store the personal user code in any way.

I en foretrukket utførelse omfatter fremgangsmåten i henhold til oppfinnelsen videre trinn hvor det forut for beregningen inne i brukeranordningen av en sikkerhetskode: - legges inn i brukeranordningen en tjenesteleverandørkode som representerer en tjenesteleverandør som brukeren er registrert hos med sitt brukernavn, - beregnes inne i brukeranordningen en sikkerhetskode på grunnlag av en kombinasjon av utstyrsidentifikatoren, den personlige brukerkode og nevnte tjenesteleverandørkode, og - den beregnede sikkerhetskode avgis, idet den således beregnede sikkerhetskode i seg selv representerer brukeren og brukeranordningen overfor en spesifikk tjenesteleverandør. In a preferred embodiment, the method according to the invention includes further steps where, prior to the calculation inside the user device of a security code: - a service provider code representing a service provider with which the user is registered with their username is entered into the user device, - is calculated inside the user device a security code on the basis of a combination of the equipment identifier, the personal user code and said service provider code, and - the calculated security code is issued, the thus calculated security code in itself representing the user and the user device vis-à-vis a specific service provider.

Ved å legge inn en tjenesteleverandørkode i beregningen av sikkerhetskoden kan forskjellige sikkerhetskoder frembringes for hver tjenesteleverandør uten behov for å endre noen av de andre identifikatorer (brukerens personlige kode og utstyrsidentifikatoren). Fremgangsmåten i henhold til oppfinnelsen gjør det mulig for en bruker å benytte den samme anordning for brukeridentifisering med to faktorer overfor mer enn en tjenesteleverandør uten å dele følsomme data med flere tjenesteleverandører. By entering a service provider code into the calculation of the security code, different security codes can be generated for each service provider without the need to change any of the other identifiers (the user's personal code and the equipment identifier). The method according to the invention makes it possible for a user to use the same device for user identification with two factors towards more than one service provider without sharing sensitive data with several service providers.

Et spesielt aspekt av oppfinnelsen gjelder en fremgangsmåte ved autentisering av brukeren av en brukeranordning, idet brukeren er registrert i en kundefil hos en tjenesteleverandør med sitt brukernavn og en tilhørende sikkerhetskode oppnådd ved hjelp av en fremgangsmåte i henhold til oppfinnelsen, idet fremgangsmåten omfatter trinn hvor: -et brukernavn angis overfor tjenesteleverandøren, hos tjenesteleverandøren søkes det i kundefilen for å finne det angitte brukernavn og dersom det er tilstede i filen sendes en utfordring tilbake til brukeren, - en personlig brukerkode legges inn i brukeranordningen og fra brukeranordningens datalagringsutstyr hentes brukeranordningens utstyrsidentifikator, - nevnte sikkerhetskode beregnes inne i brukeranordningen, en variabel mottatt fra tjenesteleverandøren som nevnte utfordring legges inn i brukeranordningen og ved å bruke en kryptografisk algoritme beregnes inne i brukeranordningen et engangspassord på grunnlag av nevnte sikkerhetskode og variabel, A particular aspect of the invention concerns a method for authenticating the user of a user device, the user being registered in a customer file with a service provider with his username and an associated security code obtained by means of a method according to the invention, the method comprising steps where: - a user name is given to the service provider, with the service provider the customer file is searched to find the specified user name and if it is present in the file, a challenge is sent back to the user, - a personal user code is entered into the user device and the user device's device identifier is retrieved from the user device's data storage device, - said security code is calculated inside the user device, a variable received from the service provider as said challenge is entered into the user device and by using a cryptographic algorithm a one-time password is calculated inside the user device on the basis of said security code and variable ,

- det beregnede engangspassord angis overfor tjenesteleverandøren, - the calculated one-time password is given to the service provider,

-hos tjenesteleverandøren gjenvinnes fra kundefilen den sikkerhetskode som tilsvarer brukernavnet angitt av brukeren, - ved å bruke den samme kryptografiske algoritme som brukeranordningen beregnes det hos tjenesteleverandøren et engangspassord på grunnlag av sikkerhetskoden gjenvunnet fra kundefilen og den samme variabel som ble sendt tilbake til brukeren og benyttet av brukeranordningen, - hos tjenesteleverandøren sammenlignes det nettopp beregnede engangspassord med det mottatt fra brukeren, og - at the service provider, the security code corresponding to the username entered by the user is recovered from the customer file, - by using the same cryptographic algorithm as the user device, a one-time password is calculated at the service provider on the basis of the security code recovered from the customer file and the same variable that was sent back to the user and used of the user device, - at the service provider, the one-time password just calculated is compared with the one received from the user, and

dersom engangspassordene er identiske er autentiseringsresultatet positivt, idet det bekrefter at brukeren identifisert ved brukernavnet er i besittelse av brukeranordningen og en tilhørende personlig brukerkode, hvis ikke er autentiseringsresultatet negativt. if the one-time passwords are identical, the authentication result is positive, as it confirms that the user identified by the username is in possession of the user device and an associated personal user code, otherwise the authentication result is negative.

Det omtales også en fremgangsmåte ved sikker lagring av informasjon på en programmerbar brukeranordning som omfatter i det minste et datainngangsgrensesnitt, databehandlingsutstyr og datalagringsutstyr som omfatter et lesbart, fiklingssikkert lager hvor en utstyrsidentifikator som entydig identifiserer brukeranordningen er lagret på forhånd, idet fremgangsmåten omfatter trinn hvor informasjonen krypteres forut for lagring og informasjonen dekrypteres ved gjenvinning av den lagrede, krypterte informasjon, hvorved: - trinnet hvor informasjonen krypterer omfatter at informasjonen som skal lagres krypteres ved å bruke en sikkerhetskode som krypteringsnøkkel, og - trinnet hvor informasjonen dekrypteres omfatter at den lagrede, krypterte informasjon gjenvinnes ved å bruke den samme sikkerhetskode som dekrypteringsnøkkel, idet nevnte sikkerhetskode frembringes ved hjelp av trinn hvor: - en personlig brukerkode legges inn i brukeranordningen via nevnte datainngangsgrensesnitt, Also mentioned is a method for the secure storage of information on a programmable user device which comprises at least a data input interface, data processing equipment and data storage equipment which comprises a readable, tamper-proof storage where a device identifier that uniquely identifies the user device is stored in advance, the method comprising steps where the information is encrypted prior to storage and the information is decrypted by recovery of the stored, encrypted information, whereby: - the step where the information is encrypted includes that the information to be stored is encrypted using a security code as an encryption key, and - the step where the information is decrypted includes that the stored, encrypted information is recovered by using the same security code as the decryption key, said security code being generated using steps where: - a personal user code is entered into the user device via said data input interface,

- utstyrsidentifikatoren hentes fra brukeranordningens datalagringsutstyr, - the equipment identifier is retrieved from the user device's data storage equipment,

- inne i brukeranordningen beregnes en sikkerhetskode på grunnlag av en kombinasjon av i det minste nevnte utstyrsidentifikator og nevnte personlige brukerkode, og - den beregnede sikkerhetskode avgis for henholdsvis krypterings- og dekrypteringstrinnet. I fremgangsmåten kan de biometriske data som er representative for brukeren av anordningen utgjøre hele eller en del av den personlige brukerkode. - inside the user device, a security code is calculated on the basis of a combination of at least said equipment identifier and said personal user code, and - the calculated security code is issued for the encryption and decryption step, respectively. In the method, the biometric data that is representative of the user of the device can constitute all or part of the personal user code.

I nok et aspekt omtales en fremgangsmåte for signering av et informasjonselement som skal utveksles mellom brukeren av en brukeranordning og en tjenesteleverandør, idet brukeren er registrert i en kundefil hos tjenesteleverandøren med sitt brukernavn og en tilhørende sikkerhetskode oppnås ved hjelp av en fremgangsmåte i henhold til oppfinnelsen, idet fremgangsmåten omfatter trinn hvor: - det informasjonselement som skal signeres av brukeren overføres fra tjenesteleverandøren til brukeranordningen dersom informasjonselementet ikke er tilstede i brukeranordningen, - en personlig brukerkode legges inn i brukeranordningen og fra brukeranordningens datalagringsutstyr hentes brukeranordningens utstyrsidentifikator, In yet another aspect, a method is described for signing an information element to be exchanged between the user of a user device and a service provider, the user being registered in a customer file with the service provider with his username and an associated security code obtained using a method according to the invention , as the method includes steps where: - the information element to be signed by the user is transferred from the service provider to the user device if the information element is not present in the user device, - a personal user code is entered into the user device and the user device's device identifier is retrieved from the user device's data storage equipment,

- nevnte sikkerhetskode beregnes inne i brukeranordningen, - said security code is calculated inside the user device,

- ved å bruke en krypteringsalgoritme beregnes inne i brukeranordningen en "signatur" på grunnlag av nevnte sikkerhetskode og informasjonselementet som skal signeres og overføres til tjenesteleverandøren, - brukernavnet og "signaturen" overføres til tjenesteleverandøren og dersom informasjonselementet som skal signeres av brukeren ikke er tilstede hos tjenesteleverandøren overføres også informasjonselementet til tjenesteleverandøren, - hos tjenesteleverandøren gjenvinnes fra kundefilen den sikkerhetskode som tilsvarer brukernavnet mottatt fra brukeren, - ved å bruke den samme kryptografiske algoritme som brukeranordningen beregnes det hos tjenesteleverandøren en "signatur" på grunnlag av sikkerhetskoden mottatt fra kundefilen og informasjonselementet, - hos tjenesteleverandøren sammenlignes den nettopp beregnede "signatur" med den mottatt fra brukeren, og - by using an encryption algorithm, a "signature" is calculated inside the user device on the basis of the aforementioned security code and the information element to be signed and transferred to the service provider, - the user name and the "signature" are transferred to the service provider and if the information element to be signed by the user is not present at the service provider also transfers the information element to the service provider, - at the service provider, the security code corresponding to the username received from the user is recovered from the customer file, - using the same cryptographic algorithm as the user device, a "signature" is calculated at the service provider on the basis of the security code received from the customer file and the information element, - at the service provider, the just calculated "signature" is compared with the one received from the user, and

dersom "signaturene" er identiske bekreftes det at brukeren av brukeranordningen med forsett har signert informasjonselementet og at informasjonselementet ikke er blitt modifisert, og hvis ikke, er signeringsresultatet negativt. if the "signatures" are identical, it is confirmed that the user of the user device has intentionally signed the information element and that the information element has not been modified, and if not, the signing result is negative.

I en spesiell utførelse kan "signaturen" omfatte en digital eller elektronisk signatur, eventuelt en meldingsautentiseringskode (MAC). In a particular embodiment, the "signature" may comprise a digital or electronic signature, possibly a message authentication code (MAC).

I enda et aspekt omtales en fremgangsmåte for sikring av et informasjonselement som skal overføres fra brukeren av en brukeranordning til en tjenesteleverandør, idet brukeren er registrert i en kundefil hos tjenesteleverandøren med sitt brukernavn og en tilhørende sikkerhetskode oppnådd ved hjelp av en fremgangsmåte i henhold til oppfinnelsen, In yet another aspect, a method is described for securing an information element to be transferred from the user of a user device to a service provider, the user being registered in a customer file with the service provider with his username and an associated security code obtained by means of a method according to the invention ,

idet fremgangsmåten omfatter trinn hvor: as the method includes steps where:

- en personlig brukerkode legges inn i brukeranordningen og fra brukeranordningens datalagringsutstyr hentes brukeranordningens utstyrsidentifikator, - a personal user code is entered into the user device and the user device's device identifier is retrieved from the user device's data storage equipment,

- nevnte sikkerhetskode beregnes inne i brukeranordningen, - said security code is calculated inside the user device,

- ved å bruke en kryptografisk algoritme og nevnte sikkerhetskode som krypteringsnøkkel krypteres inne i brukeranordningen det informasjonselement som skal overføres til tjenesteleverandøren, - by using a cryptographic algorithm and said security code as an encryption key, the information element to be transferred to the service provider is encrypted inside the user device,

- brukernavnet og det krypterte informasjonselement overføres til tjenesteleverandøren, - the username and the encrypted information element are transferred to the service provider,

- hos tjenesteleverandøren gjenvinnes fra kundefilen den sikkerhetskode som tilsvarer brukernavnet mottatt fra brukeren, og - ved å bruke den samme kryptografiske algoritme som brukeranordningen krypteres hos tjenesteleverandøren det krypterte informasjonselement ved å bruke sikkerhetskoden gjenvunnet fra kundefilen som krypteringsnøkkel. - at the service provider, the security code corresponding to the username received from the user is recovered from the customer file, and - by using the same cryptographic algorithm as the user device, the encrypted information element is encrypted at the service provider by using the security code recovered from the customer file as the encryption key.

I et ytterligere aspekt omtales en fremgangsmåte ved sikring av et informasjonselement som skal overføres fra en tjenesteleverandør til brukeren av en brukeranordning, idet brukeren er registrert i en kundefil hos tjenesteleverandøren med sitt brukernavn og en tilhørende sikkerhetskode oppnådd ved hjelp av en fremgangsmåte In a further aspect, a method is described for securing an information element to be transferred from a service provider to the user of a user device, the user being registered in a customer file with the service provider with his username and an associated security code obtained by means of a method

i henhold til oppfinnelsen, idet fremgangsmåten omfatter trinn hvor: according to the invention, the method comprising steps where:

- sikkerhetskoden for den bruker som informasjonselementet skal overføres til gjenvinnes fra kundefilen hos tjenesteleverandøren, - ved å bruke en kryptografisk algoritme og nevnte sikkerhetskode som krypteringsnøkkel krypteres nevnte informasjonselement, - the security code for the user to whom the information element is to be transferred is recovered from the customer file at the service provider, - by using a cryptographic algorithm and said security code as an encryption key, said information element is encrypted,

- det krypterte informasjonselement overføres til brukeren, og - the encrypted information element is transferred to the user, and

- ved mottagning i brukeranordningen av nevnte krypterte informasjonselement legges en personlig brukerkode inn i brukeranordningen og fra brukeranordningens datalagringsutstyr hentes brukeranordningens utstyrsidentifikator, - upon reception in the user device of said encrypted information element, a personal user code is entered into the user device and the user device's device identifier is retrieved from the user device's data storage equipment,

- nevnte sikkerhetskode beregnes inne i brukeranordningen, og - said security code is calculated inside the user device, and

- ved å bruke den samme kryptografiske algoritme som tjenesteleverandøren dekrypteres det krypterte informasjonselement i brukeranordningen ved å bruke den nettopp beregnede sikkerhetskode som dekrypteringsnøkkel. - by using the same cryptographic algorithm as the service provider, the encrypted information element in the user device is decrypted by using the just calculated security code as decryption key.

Denne fremgangsmåte ved sikring av informasjonselementer som skal overføres fra en tjenesteleverandør kan være nyttig for å sende meldinger og for å holde informasjon hemmelig overfor andre, så vel som for å sende digitalt innhold som ikke skal kopieres (slik som elektroniske billetter, eller annet digitalt innhold som skal beskyttes mot ulovlig kopiering, musikk, video, programvare, osv.). This method of securing information items to be transmitted from a service provider can be useful for sending messages and for keeping information secret from others, as well as for sending digital content that should not be copied (such as electronic tickets, or other digital content which must be protected against illegal copying, music, video, software, etc.).

Det omtales også en programmerbar brukeranordning som har i det minste et datainngangsgrensesnitt, databehandlingsutstyr og datalagringsutstyr med et lesbart, fiklingssikkert lager hvor en utstyrsidentifikator som entydig identifiserer brukeranordningen er lagret på forhånd, idet den programmerbare brukeranordning er programmert til å kjøre en prosess i samsvar med en hvilken som helst av fremgangsmåtene angitt over. It also refers to a programmable user device that has at least one data input interface, data processing equipment and data storage equipment with a readable, tamper-proof storage where a device identifier that uniquely identifies the user device is stored in advance, the programmable user device being programmed to run a process in accordance with a any of the methods set forth above.

Utstyrsidentifikatoren for brukeranordningen er fortrinnsvis et serienummer for produktet lagt inn i anordningen forut for levering til en bruker og i tilfellet av en mobiltelefon kan utstyrsidentifikatoren være en internasjonal mobilutstyrsidentitet (dvs. IMEI-koden i tilfellet av en GSM-telefon). The equipment identifier for the user device is preferably a serial number for the product entered into the device prior to delivery to a user and in the case of a mobile phone the equipment identifier may be an International Mobile Equipment Identity (ie the IMEI code in the case of a GSM phone).

Generelt kan oppfinnelsen la en brukeranordning tjene som en felles eller generisk "flerkodegenerator" for en mengde tjenester fra flere tjenesteleverandører. In general, the invention can allow a user device to serve as a common or generic "multiple code generator" for a multitude of services from multiple service providers.

Ytterligere trekk ved brukeranordningen og fremgangsmåten ved frembringelse av en sikkerhetskode i henhold til foreliggende oppfinnelse vil fremgå av den etterfølgende beskrivelse av eksempler på utførelsesformer av denne gitt med henvisning til de vedføyde tegninger, på hvilke: Fig. 1 er et blokkskjema som skjematisk viser hovedkomponentene i en brukeranordning i Further features of the user device and the method for generating a security code according to the present invention will be apparent from the subsequent description of examples of embodiments thereof given with reference to the attached drawings, in which: Fig. 1 is a block diagram schematically showing the main components of a user device i

henhold til oppfinnelsen, according to the invention,

fig. 2 er et flytskjema som skjematisk viser en prosess ved frembringelse av en sikkerhetskode som representerer en bruker av en brukeranordning og selve fig. 2 is a flowchart that schematically shows a process for generating a security code that represents a user of a user device and the

anordningen, the device,

fig. 3 er et flytskjema som skjematisk viser en prosess ved sikker, lokal lagring av fig. 3 is a flowchart that schematically shows a process for secure, local storage of

informasjon, information,

fig. 4 er et flytskjema som skjematisk viser en prosess ved bruk av informasjonen som er fig. 4 is a flowchart that schematically shows a process using the information that is

sikkert lagret ved hjelp av prosessen vist i fig. 3, securely stored using the process shown in fig. 3,

fig. 5 er et flytskjema som skjematisk viser en prosess ved distribusjon fra en fig. 5 is a flowchart which schematically shows a process for distribution from a

tjenesteleverandør av informasjon kryptert ved hjelp av en brukers offentlige nøkkel, fig. 6 er et flytskjema som skjematisk viser en prosess ved distribusjon fra en service provider of information encrypted using a user's public key, fig. 6 is a flowchart that schematically shows a process for distribution from a

tjenesteleverandør av informasjon kryptert ved hjelp av en brukers sikkerhetskode, fig. 7 er et flytskjema som skjematisk viser en prosess ved autentisering av en bruker i service provider of information encrypted using a user's security code, fig. 7 is a flowchart that schematically shows a process when authenticating a user i

samsvar med en utførelse av oppfinnelsen, conformity with an embodiment of the invention,

fig. 8 er et flytskjema som skjematisk viser en prosess ved innledningsvis registrering av en fig. 8 is a flow chart which schematically shows a process when initially registering a

bruker hos en tjenesteleverandør. user with a service provider.

Med henvisning til fig. 1 omfatter en brukeranordning i henhold til oppfinnelsen i det minste et datainngangsgrensesnitt, slik som en numerisk knappsats, et komplett tastatur 1 eller annet grensesnittutstyr, databehandlingsutstyr, slik som en mikroprosessorstyring 2, og datalagringsutstyr 3, slik som et direkteminne (RAM), leseminne (ROM) og/eller hurtigminne With reference to fig. 1, a user device according to the invention comprises at least one data input interface, such as a numeric keypad, a complete keyboard 1 or other interface equipment, data processing equipment, such as a microprocessor control 2, and data storage equipment 3, such as a random access memory (RAM), read memory ( ROM) and/or flash memory

(cache), som omfatter et lesbart, fiklingssikkert lager 4, fortrinnsvis et leseminne, hvor en utstyrsidentifikator som entydig identifiserer anordningen er lagret, og datautgangsmuligheter, slik som et fremviservindu 5, en dataskjerm eller lignende, og eventuelt med tanke på noen utførelser av oppfinnelsen, en kommunikasjonsmodul 6 for enveis eller toveis kommunikasjon med eksternt utstyr, slik som vanlig periferiutstyr for datamaskiner og datanett, eventuelt innbefattet sender/mottagerutstyr for en hvilken som helst type privat eller offentlig telekommunikasjonstjeneste. (cache), which comprises a readable, tamper-proof storage 4, preferably a read memory, where a device identifier that uniquely identifies the device is stored, and data output possibilities, such as a viewer window 5, a computer screen or the like, and possibly in view of some embodiments of the invention , a communication module 6 for one-way or two-way communication with external equipment, such as common peripheral equipment for computers and data networks, possibly including transmitter/receiver equipment for any type of private or public telecommunications service.

Brukeranordningen i henhold til oppfinnelsen er programmerbar, dvs. at den er i stand til å utføre data- og brukerprogrammer lest inn i dens mikroprosessors hukommelse. For å implementere visse utførelser av oppfinnelsen bør brukeranordningen også være i stand til å utveksle informasjon med en tjenesteleverandør som brukeren er registrert som kunde eller abonnent hos. Derfor betraktes mobiltelefoner i samsvar med GSM-teknologien å være særlig egnet for oppfinnelsens formål. Det forutses imidlertid at andre personlige, elektroniske utstyrsenheter, slik som bærbare datamaskiner (laptops) og håndholdte informasjonsanordninger (PDA - Personal Digital Assistant) eller særlig stasjonære, personlige datamaskiner (PCer) samt selvsagt fremtidige mobiltelefoner, også kan brukes når de forsynes med en passende utstyrsidentitet (El - Equipment Identity) på en måte tilsvarende GSM-mobiltelefoner. Fremtidige lommekalkulatorer eller generatorer for det spesielle formål å frembringe generiske passord kan også forutses. The user device according to the invention is programmable, i.e. it is capable of executing data and user programs read into its microprocessor's memory. In order to implement certain embodiments of the invention, the user device should also be able to exchange information with a service provider with which the user is registered as a customer or subscriber. Therefore, mobile phones in accordance with GSM technology are considered to be particularly suitable for the purpose of the invention. However, it is anticipated that other personal, electronic equipment devices, such as portable computers (laptops) and hand-held information devices (PDA - Personal Digital Assistant) or especially stationary, personal computers (PCs) as well as of course future mobile phones, can also be used when they are provided with a suitable equipment identity (El - Equipment Identity) in a way similar to GSM mobile phones. Future pocket calculators or generators for the special purpose of generating generic passwords can also be envisioned.

Programvare for beregning av sikkerhetskode Security code calculation software

Den programvare som behøves for å beregne sikkerhetskoden kan være permanent lagret i brukeranordningen i henhold til oppfinnelsen. Den kan f.eks. legges inn i anordningen på produksjonstidspunktet. For å muliggjøre bruk av en allerede eksisterende anordning av passende type, som angitt ovenfor, kan et spesielt brukerprogram leveres til anordningen på et hvilket som helst tidspunkt via en hvilken som helst type dataleveransemedium, slik som en diskett, optisk kompaktplate (CD-ROM) og innpluggbart datalagringsutstyr (hukommelsesstav eller -kort). Når anordningen er utstyrt med en kommunikasjonsmulighet kan brukerprogrammet lastes ned til anordningen fra en programvareforhandler via et kommunikasjonsnett for anordningen, for direkte utførelse og/eller lagring for senere utnyttelse. The software required to calculate the security code can be permanently stored in the user device according to the invention. It can e.g. is entered into the device at the time of production. To enable the use of a pre-existing device of a suitable type, as indicated above, a special user program may be delivered to the device at any time via any type of data delivery medium, such as a floppy disk, optical compact disc (CD-ROM) and pluggable data storage equipment (memory stick or card). When the device is equipped with a communication option, the user program can be downloaded to the device from a software vendor via a communication network for the device, for direct execution and/or storage for later use.

I henhold til oppfinnelsen er programvaren for beregning av sikkerhetskode et generelt dataprogram som i det hele tatt ikke inneholder noen hemmeligheter. Data- eller brukerprogrammet kan være åpent for publikum for bruk på en hvilken som helst egnet bruker- anordning. I prinsippet kan brukerprogrammet være identisk fra den ene brukeranord- According to the invention, the software for calculating the security code is a general computer program that does not contain any secrets at all. The computer or user program may be open to the public for use on any suitable user device. In principle, the user program can be identical from one user device

ning til den neste bortsett fra datamaskinrelaterte forskjeller som skyldes bruk av ulike operativsystemer, programmeringsspråk, kompilatorer og lignende. ning to the next except for computer-related differences due to the use of different operating systems, programming languages, compilers and the like.

Dette trekk med prinsipielt fri distribusjon av programvare for beregning av sikkerhets- kode og muligheten til å kopiere programvaren fra en anordning til en annen uten å gå på akkord This features in principle free distribution of software for calculating security codes and the ability to copy the software from one device to another without compromising

med sikkerheten, er en hovedfordel ved foreliggende oppfinnelse, særlig sammenlignet med sikkerhetsarrangementer som fordrer nærvær av hemmeligheter i selve brukerprogramvaren. with the security, is a main advantage of the present invention, especially compared to security arrangements that require the presence of secrets in the user software itself.

Beregningen som utføres av sikkerhetskodeprogramvaren er typisk basert på bruk av enveis krypteringsalgoritmer (f.eks. en spredealgoritme (hashing)) for å frembringe sikkerhetskoden og toveis krypteringsalgoritmer for å kryptere/dekryptere informasjonselementer, men diverse andre typer krypteringsalgoritmer kan brukes. Den krypteringsmetode som brukes er ikke avgjørende for implementering av oppfinnelsen. 8ikkerhets- koden bør imidlertid være tilstrekkelig unik og det bør ikke være mulig å utlede dens inngangsdataelementer fra selve koden (dvs. enveiskryptering). Et annet viktig trekk ved programvaren for beregning av sikkerhetskode er at den er konstruert for å lese ut utstyrsidentifikatoren som entydig identifiserer vedkommende anordning hver eneste gang en sikkerhetskode skal brukes og at den beregnede sikkerhetskode aldri lagres i anordningen. The calculation performed by the security code software is typically based on the use of one-way encryption algorithms (e.g. a hashing algorithm) to generate the security code and two-way encryption algorithms to encrypt/decrypt information items, but various other types of encryption algorithms can be used. The encryption method used is not decisive for the implementation of the invention. However, the security code should be sufficiently unique and it should not be possible to derive its input data elements from the code itself (ie one-way encryption). Another important feature of the security code calculation software is that it is designed to read out the device identifier that uniquely identifies the device in question every time a security code is used and that the calculated security code is never stored in the device.

Beregning av sikkerhetskode Calculation of security code

Med henvisning til fig. 2 omfatter i en utførelse fremgangsmåten i henhold til foreliggende oppfinnelse ved frembringelse av en sikkerhetskode ved hjelp av en programmerbar brukeranordning (se fig. 1) og den nettopp beskrevne brukerprogramvare tre hovedtrinn: brukeren som er i besittelse av anordningen legger inn sin personlige brukerkode i anordningen via et datainngangsgrensesnitt for anordningen (trinn S1), With reference to fig. 2, in one embodiment, the method according to the present invention for generating a security code using a programmable user device (see Fig. 1) and the user software just described comprises three main steps: the user who is in possession of the device enters his personal user code into the device via a device data input interface (step S1),

anordningen henter utstyrsidentifikatoren fra sitt eget datalagringsutstyr 4 (trinn S2), og - på grunnlag av en kombinasjon av den hentede utstyrsidentifikator og den innlagte personlige brukerkode beregner brukeranordningen inne i seg selv en sikkerhetskode (trinn S3). the device retrieves the device identifier from its own data storage device 4 (step S2), and - on the basis of a combination of the retrieved device identifier and the entered personal user code, the user device internally calculates a security code (step S3).

Den sikkerhetskode som derved oppnås er basert på to faktorer. Betraktet som et autentiseringsarrangement med to faktorer vil således den personlige brukerkode utgjøre "noe du vet"-komponenten, mens utstyrsidentifikatoren er "noe du har"-komponenten. Sikkerhetskoden representerer en unik identifisering av brukeren og brukerens anordning, men de opprinnelige inngangsidentifikatorer (dvs. brukerens personlige kode og utstyrsidentifikatoren) kan ikke rekalkuleres ut fra sikkerhetskoden. Fremgangsmåten i henhold til oppfinnelsen forhindrer at inngangsidentifikatorene blir avslørt overfor noen annen part og er også en fremgangsmåte hvor det ikke er noe behov for å lagre brukerens personlige kode på noen måte. The security code thus obtained is based on two factors. Thus, viewed as a two-factor authentication arrangement, the personal user code constitutes the "something you know" component, while the device identifier is the "something you have" component. The security code represents a unique identification of the user and the user's device, but the original input identifiers (ie the user's personal code and the device identifier) cannot be recalculated from the security code. The method according to the invention prevents the input identifiers from being revealed to any other party and is also a method where there is no need to store the user's personal code in any way.

I prinsippet kan brukeren fritt velge en hvilken som helst egnet personlig kode som skal legges inn for frembringelse av en sikkerhetskode. Den personlige kode kan f.eks. være en annen for forskjellige formål. I foreliggende tilfelle er sikkerhetskoden representativ for både brukeren og brukerens anordning. Koden kan nå avgis via anordningens dataavgivelsesmulighet, slik som ved å vises frem i fremviservinduet 5, eller via kommunikasjonsmodulen 6 for å sendes til et eller annet lokalt eller fjernt plassert eksternt utstyr, slik som kommunikasjonsutstyr som befinner seg på tjenesteleverandørens sted. In principle, the user can freely choose any suitable personal code to be entered to generate a security code. The personal code can e.g. be different for different purposes. In the present case, the security code is representative of both the user and the user's device. The code can now be emitted via the device's data output capability, such as by being displayed in the viewer window 5, or via the communication module 6 to be sent to some local or remotely located external equipment, such as communication equipment located at the service provider's location.

Skjønt det ikke er vist i fig. 2 kan beregningen inne i brukeranordningen av sikkerhetskoden alternativt baseres på en kombinasjon av tre faktorer når dette er passende i utførelsesformer av oppfinnelsen. I tillegg til de to faktorer som er nevnt ovenfor, dvs. utstyrsidentifikatoren og brukerens personlige kode, kan en tjenesteleverandørkode valgt av tjenesteleverandøren eller av brukeren selv, for å betegne en tjenesteleverandør, innlemmes i beregningen av sikkerhetskoden. En sådan sikkerhetskode med tre faktorer vil selv representere brukeren og brukeranordningen overfor tjenesteleverandøren eller en bestemt tjeneste tilbudt av vedkommende tjenesteleverandør. Sådanne tjenesteleverandørkoder kan selvsagt lagres i datalagringsutstyret 3 i brukeranordningen for senere bruk. Although not shown in fig. 2, the calculation inside the user device of the security code can alternatively be based on a combination of three factors when this is appropriate in embodiments of the invention. In addition to the two factors mentioned above, i.e. the equipment identifier and the user's personal code, a service provider code chosen by the service provider or by the user himself, to designate a service provider, can be incorporated into the calculation of the security code. Such a security code with three factors will itself represent the user and the user device vis-à-vis the service provider or a specific service offered by the service provider in question. Such service provider codes can of course be stored in the data storage device 3 in the user device for later use.

Som et alternativ til å innføre tjenesteleverandørkoden som en separat tredje kode kan en eller annen type indikasjon på en spesifikk tjenesteleverandør innarbeides i brukerens personlige kode, slik at den blir en todelt kode, og det vil da være en forskjellig sikkerhetskode for hver tjenesteleverandør. As an alternative to introducing the service provider code as a separate third code, some type of indication of a specific service provider can be incorporated into the user's personal code, so that it becomes a two-part code, and there will then be a different security code for each service provider.

Den mulighet som fremgangsmåten i henhold til foreliggende oppfinnelse har til å frembringe spesifikke eller forskjellige sikkerhetskoder for hver tjenesteleverandør gjør det mulig for brukeren å bruke den samme anordning for sikkerhetstjenester hos mer enn en tjenesteleverandør uten å gå på akkord med sikkerheten. Ingen tjenesteleverandører behøver å dele den samme sikkerhetskode, og ingen tjenesteleverandør er i stand til å rekalkulere inngangsidentifikatorene. The possibility that the method according to the present invention has to generate specific or different security codes for each service provider makes it possible for the user to use the same device for security services at more than one service provider without compromising security. No service provider need share the same security code, and no service provider is able to recalculate the input identifiers.

Med utviklingen av biometriske kodeteknikker forutses også den mulighet at biometriske data kan være del av sikkerhetskoden i henhold til oppfinnelsen. Således kan biometriske data som er representative for en bruker utgjøre den personlige brukerkode alene eller som en integrert del av denne, slik at man beveger seg fra en situasjon med "noe du har" til en situasjon med "noe du er". I et sådant tilfelle behøver brukeranordningen å bli utstyrt med eller forbundet med passende inngangsutstyr for å gjøre det mulig å av- søke biometriske detaljer fra brukerens attributter og tilføre dem til brukeranordningen. With the development of biometric coding techniques, the possibility is also foreseen that biometric data may be part of the security code according to the invention. Thus, biometric data that is representative of a user can constitute the personal user code alone or as an integral part of this, so that one moves from a situation of "something you have" to a situation of "something you are". In such a case, the user device needs to be equipped with or connected to suitable input equipment to make it possible to scan biometric details from the user's attributes and add them to the user device.

Hver personlige brukerkode og tjenesteleverandørkode kan typisk omfatte en sekvens alfabetiske og/eller numeriske tegn som er lette å huske og som i prosessen konverteres til en sekvens binært kodede data. Bruker- og tjenesteleverandørkodene kan også alene eller i kombinasjon med andre opplysninger omfatte et stykke informasjon som allerede er konvertert til en sekvens binært kodede data. Biometriske data som er representative for en bruker er et eksempel på sådanne forhåndskodede, binære data. Each personal user code and service provider code may typically comprise a sequence of alphabetic and/or numeric characters which are easy to remember and which in the process are converted into a sequence of binary coded data. The user and service provider codes can also alone or in combination with other information comprise a piece of information that has already been converted into a sequence of binary coded data. Biometric data that is representative of a user is an example of such pre-coded, binary data.

I alle tilfeller kan beregningen av sikkerhetskoden omfatte en enkel aritmetisk operasjon eller en kompleks kryptografisk operasjon, eventuelt bruk av andre typer chiffreringsteknikker. Operasjonen bør imidlertid være slik at ingen av de inngående dataelementer til beregningen kan utledes fra koden og/eller fra kjennskap til noen av inngangselementene. In all cases, the calculation of the security code may include a simple arithmetic operation or a complex cryptographic operation, possibly using other types of encryption techniques. However, the operation should be such that none of the input data elements for the calculation can be derived from the code and/or from knowledge of any of the input elements.

Kryptering/dekryptering av informasjon Encryption/decryption of information

Idet det henvises til fig. 3 kan sikkerhetskoden i henhold til oppfinnelsen brukes når informasjonselementer lagres på brukeranordningen, idet informasjonen krypteres forut for lagring ved å bruke sikkerhetskoden som krypteringsnøkkel. Prosessen kan typisk omfatte de etterfølgende trinn: brukeren spesifiserer eller starter, f.eks. ved hjelp av tastaturet 1, en prosess eller et datamaskinprogram som genererer et informasjonselement som behøver å bli lagret på sikker måte (f.eks. en hemmelig nøkkel i et PKI-system (Public Key Infrastructure)) Referring to fig. 3, the security code according to the invention can be used when information elements are stored on the user device, the information being encrypted prior to storage by using the security code as an encryption key. The process can typically include the following steps: the user specifies or starts, e.g. using the keyboard 1, a process or a computer program that generates an item of information that needs to be stored securely (e.g. a secret key in a Public Key Infrastructure (PKI) system)

(trinn S1), (step S1),

brukeren legger inn en personlig brukerkode i anordningen, typisk via tastaturet 1 the user enters a personal user code into the device, typically via the keyboard 1

(trinn S2), (step S2),

anordningen henter utstyrsidentifikatoren fra sitt eget datalagringsutstyr 4 og the device retrieves the equipment identifier from its own data storage equipment 4 and

beregner i seg selv en sikkerhetskode (trinn S3 og S4), og calculates itself a security code (steps S3 and S4), and

ved å bruke sikkerhetskoden som krypteringsnøkkel krypterer anordningen informasjonselementet og lagrer den krypterte informasjon i anordningens datalagringsutstyr 3 (trinn S5 og S6). using the security code as an encryption key, the device encrypts the information item and stores the encrypted information in the device's data storage device 3 (steps S5 and S6).

Dersom brukeren velger å benytte forskjellige personlige koder for forskjellige formål kan han/hun velge en bestemt kode f.eks. for det formål å lagre informasjonselementer sikkert lokalt. If the user chooses to use different personal codes for different purposes, he/she can choose a specific code, e.g. for the purpose of storing information items securely locally.

I det viste eksempel er det frembragt en "to-faktor"-sikkerhetskode, men en "tre-faktor"sikkerhetskode kan likesåvel benyttes, særlig når det informasjonselement som skal lagres sikkert gjelder en tjenesteleverandør. In the example shown, a "two-factor" security code has been generated, but a "three-factor" security code can also be used, especially when the information element to be stored securely relates to a service provider.

Inne i brukeranordningen kan da senere informasjonselementer som på denne måte er blitt kryptert forut for lagring i anordningen, gjenvinnes og dekrypteres forut for bruk ved å benytte sikkerhetskoden som dekrypteringsnøkkel. En sådan prosess kan, slik som vist i fig. 4, omfatte de etterfølgende trinn: brukeren velger f.eks. ved hjelp av tastaturet 1 eller spesifiserer ved hjelp av andre midler, et eller flere informasjonselementer som er sikkert lagret i anordningen (trinn S1), Inside the user device, later information elements that have been encrypted in this way prior to storage in the device can be recovered and decrypted prior to use by using the security code as a decryption key. Such a process can, as shown in fig. 4, include the following steps: the user selects e.g. using the keyboard 1 or specify using others means, one or more information elements that are securely stored in the device (step S1),

typisk ved hjelp av tastaturet 1 legger brukeren inn i anordningen den personlige typically using the keyboard 1, the user enters the personal information into the device

kode benyttet ved lagringen av vedkommende informasjonselement(er) (trinn S2), code used when storing the relevant information element(s) (step S2),

anordningen henter utstyrsidentifikatoren fra sitt eget lagringsutstyr 4 og beregner the device retrieves the device identifier from its own storage device 4 and calculates

inne i seg selv en sikkerhetskode (trinn S3 og S4), og inside itself a security code (steps S3 and S4), and

ved å bruke sikkerhetskoden som dekrypteringsnøkkel dekrypterer anordningen vedkommende informasjonselement(er) og brukeren tillates å lese og/eller benytte den dekrypterte informasjon etter som det passer (trinn S5 og S6). by using the security code as a decryption key, the device decrypts the relevant information element(s) and the user is allowed to read and/or use the decrypted information as appropriate (steps S5 and S6).

Av sikkerhetsgrunner blir i en foretrukket realisering det dekrypterte informasjonselement alltid slettet etter å ha blitt brukt, slik at bare kryptert informasjon blir liggende igjen i anordningens datalagringsutstyr 3. For security reasons, in a preferred embodiment the decrypted information element is always deleted after being used, so that only encrypted information remains in the device's data storage equipment 3.

Bruk av sikkerhetskoden forsikker kommunikasjon Use of the security code ensures communication

I en foretrukket utførelse er brukeranordningen utstyrt med en kommunikasjonsfunksjon som muliggjør enveis og/eller toveis datakommunikasjon med en tjenesteleverandør over et kablet eller trådløst kommunikasjonsnett. In a preferred embodiment, the user device is equipped with a communication function that enables one-way and/or two-way data communication with a service provider over a wired or wireless communication network.

Dersom tjenesteleverandøren i et sådant tilfelle ønsker å bruke et asymmetrisk krypteringsarrangement med to nøkler når informasjon som skal distribueres til brukere må krypteres forut for overføring til en bruker, kan informasjonen, slik som vist i fig. 5, omkastes forut for overføringen ved å bruke en offentlig nøkkel i krypteringsarrangementet (trinn S1). Gitt at det er sørget for at de tilsvarende hemmelige nøkler i krypteringssystemet er lagret på forhånd i brukeranordningen i et kryptert format oppnådd ved å bruke sikkerhetskoden som krypteringsnøkkel kan da brukeranordningen være programmert til ved mottak av omkastet informasjon å: dekryptere den krypterte hemmelige nøkkel lagret i anordningen ved bruk av sikker hetskoden som dekrypteringsnøkkel (trinn S5), og - gjenopprette den omkastede informasjon mottatt fra tjenesteleverandøren ved å bruke den dekrypterte hemmelige nøkkel (trinn S6). If the service provider in such a case wishes to use an asymmetric encryption arrangement with two keys when information to be distributed to users must be encrypted prior to transmission to a user, the information, as shown in fig. 5, is reversed prior to the transmission using a public key in the encryption arrangement (step S1). Given that it has been ensured that the corresponding secret keys in the encryption system are stored in advance in the user device in an encrypted format obtained by using the security code as an encryption key, the user device can then be programmed to, upon receipt of discarded information, to: decrypt the encrypted secret key stored in the device using safe the hotcode as the decryption key (step S5), and - recover the discarded information received from the service provider using the decrypted secret key (step S6).

I dette tilfelle behøver sikkerhetskoden ikke være lagret hos tjenesteleverandøren. Den offentlige nøkkel kan spesifiseres av brukeren eller være lagret på forhånd hos tjenesteleverandøren, eventuelt være allment tilgjengelig gjennom en elektronisk oppslagstavletjeneste. In this case, the security code does not need to be stored with the service provider. The public key can be specified by the user or stored in advance with the service provider, or be generally available through an electronic bulletin board service.

I stedet for å bruke et krypteringsarrangement med to nøkler kan tjenesteleverandøren benytte sikkerhetskoden i henhold til oppfinnelsen i sammenheng med distribusjon av hemmelig informasjon, så sant det er sørget for lagring hos tjenesteleverandøren av sikkerhetskodene for brukerene av leverandørens tjenester. En sådan prosess hvor informasjonen krypteres forut for overføring ved å bruke sikkerhetskoden som krypteringsnøkkel (trinn S1 i fig. 6) kan, slik som vist i fig. 6, omfatte trinn hvor den krypterte informasjon mottatt fra tjenesteleverandøren dekrypteres ved å bruke anordningens nettopp beregnede sikkerhetskode (trinn S4 og S5 i fig. 6). Instead of using an encryption arrangement with two keys, the service provider can use the security code according to the invention in connection with the distribution of secret information, as long as provision has been made for storage with the service provider of the security codes for the users of the provider's services. Such a process where the information is encrypted prior to transmission by using the security code as encryption key (step S1 in Fig. 6) can, as shown in Fig. 6, include steps where the encrypted information received from the service provider is decrypted using the device's newly calculated security code (steps S4 and S5 in Fig. 6).

I begge tilfeller blir den dekrypterte informasjon fortrinnsvis slettet av sikkerhetsgrunner etter at den er blitt benyttet, slik at det ikke etterlates noe spor av denne på anordningen (med mindre den lagres lokalt ved å bruke sikkerhetskoden som lokal krypteringsnøkkel, slik som vist i fig. 3). In both cases, the decrypted information is preferably deleted for security reasons after it has been used, so that no trace of it is left on the device (unless it is stored locally by using the security code as a local encryption key, as shown in Fig. 3 ).

Bruk av sikkerhetskoden for autentisering Using the security code for authentication

I tillegg kan sikkerhetskoden absolutt brukes som grunnlag for verifisering av brukerens identitet og brukeranordningen som tilhører ham/henne. In addition, the security code can certainly be used as a basis for verifying the user's identity and the user device belonging to him/her.

I en utførelse av oppfinnelsen omfatter brukeranordningen en kommunikasjonsmodul 6 (se fig. 1). I forbindelse med autentiseringsmetoden i henhold til oppfinnelsen kan således den derved frembragte kommunikasjonsfunksjon brukes for å utveksle informasjon, fortrinnsvis "on-line", med tjenesteleverandører via selve brukeranordningen. Gitt at brukeren allerede er registrert i en kundefil hos en tjenesteleverandør med sitt brukernavn og en tilhørende sikkerhetskode i henhold til oppfinnelsen, kan i et sådant tilfelle med henvisning til fig. 7 fremgangsmåten ved autentisering av en bruker av brukeranordningen omfatte de etterfølgende trinn: inn i den elektroniske anordning legges et brukernavn og fra anordningen overføres In one embodiment of the invention, the user device comprises a communication module 6 (see Fig. 1). In connection with the authentication method according to the invention, the resulting communication function can thus be used to exchange information, preferably "on-line", with service providers via the user device itself. Given that the user is already registered in a customer file with a service provider with his username and an associated security code according to the invention, in such a case with reference to fig. 7 the procedure for authenticating a user of the user device includes the following steps: a user name is entered into the electronic device and from the device is transferred

det innlagte brukernavn til tjenesteleverandøren (trinn S2), the registered user name of the service provider (step S2),

- hos tjenesteleverandøren søkes det i kundefilen for å finne brukernavnet mottatt fra den elektroniske anordning og dersom det er tilstede i filen sendes det en utfordring fra tjenesteleverandøren til den elektroniske anordning (trinn S3 og S4), - at the service provider, the customer file is searched to find the username received from the electronic device and if it is present in the file, a challenge is sent from the service provider to the electronic device (steps S3 and S4),

en personlig brukerkode legges inn i den elektroniske anordning og fra den elektroniske anordnings datalagringsutstyr hentes utstyrsidentifikatoren for anordningen (trinn S5), a personal user code is entered into the electronic device and the device identifier for the device is retrieved from the electronic device's data storage device (step S5),

internt i den elektroniske anordning beregnes en sikkerhetskode på grunnlag av internally in the electronic device, a security code is calculated on the basis of

nevnte utstyrsidentifikator og personlige brukerkode (trinn S6), said equipment identifier and personal user code (step S6),

ved å bruke en kryptografisk algoritme beregnes internt i den elektroniske anordning et engangspassord på grunnlag av nevnte sikkerhetskode og en variabel mottatt fra tjenesteleverandøren som del av nevnte utfordring (trinn S7), by using a cryptographic algorithm, a one-time password is calculated internally in the electronic device on the basis of said security code and a variable received from the service provider as part of said challenge (step S7),

det beregnede engangspassord overføres fra den elektroniske anordning til the calculated one-time password is transferred from the electronic device to

tjenesteleverandøren (trinn S7), the service provider (step S7),

hos tjenesteleverandøren gjenvinnes fra kundefilen den sikkerhetskode som tilsvarer at the service provider, the corresponding security code is recovered from the customer file

brukernavnet mottatt fra den elektroniske anordning (trinn S8), the username received from the electronic device (step S8),

ved å bruke den samme kryptografiske algoritme som brukeranordningen beregnes det hos tjenesteleverandøren et engangspassord på grunnlag av sikkerhetskoden gjenvunnet fra kundefilen og den samme variabel som den formidlet til og som ble brukt av den elektroniske anordning (trinn S9), og using the same cryptographic algorithm as the user device, a one-time password is calculated at the service provider based on the security code recovered from the customer file and the same variable that it communicated to and used by the electronic device (step S9), and

hos tjenesteleverandøren sammenlignes det engangspassord som nettopp er beregnet med det mottatt fra den elektroniske anordning (trinn S10). at the service provider, the one-time password that has just been calculated is compared with that received from the electronic device (step S10).

Dersom engangspassordene er identiske er autentiseringsresultatet positivt, idet det bekrefter at brukeren identifisert ved brukernavnet er i besittelse av den elektroniske anordning og av en tilhørende personlig brukerkode, hvis ikke, er autentiseringsresultatet negativt. If the one-time passwords are identical, the authentication result is positive, as it confirms that the user identified by the username is in possession of the electronic device and of an associated personal user code, if not, the authentication result is negative.

Når brukeranordningen er utstyrt med en kommunikasjonsmodul kan foreliggende oppfinnelse også brukes for meldingsautentisering ved å beregne en digital signatur eller When the user device is equipped with a communication module, the present invention can also be used for message authentication by calculating a digital signature or

MAC (Message Authentication Code) ut fra en melding eller ut fra en sammenfatning (digest) av denne, som skal kommuniseres mellom brukeranordningen og en tjenesteleverandør eller annen tredjepart, idet sikkerhetskoden i henhold til oppfinnelsen er en av komponentene som tar del i denne beregning. MAC (Message Authentication Code) based on a message or based on a summary (digest) thereof, which must be communicated between the user device and a service provider or other third party, as the security code according to the invention is one of the components that take part in this calculation.

I en annen utførelse av oppfinnelsen, hvor brukeranordningen ikke inneholder en kommunikasjonsmodul og ingen direkte utveksling av informasjon med tjenesteleverandører via selve brukeranordningen er mulig, eller når det ikke er praktisk å utveksle all informasjon gjennom anordningen, kan brukeren selv virke som et "mellomledd" mellom brukeranordningen og tjenesteleverandøren. For å kommunisere med tjenesteleverandøren kan da brukeren benytte et hvilket som helst kommunikasjonsmiddel som er tilgjengelig, slik som f.eks. en personlig datamaskin koblet til Internett, idet hovedsaken er at ut- vekslingen av brukerens angivelser til tjenesteleverandøren og reaksjonene som sendes tilbake fra tjenesteleverandøren til brukeren foregår på en akseptabel måte, fortrinnsvis i sann tid. Selve kommunikasjonsforbindelsen eller -kanalen kan om det er nødvendig av sikkerhetsgrunner selvsagt være omkastet (scrambled) eller kryptert på en hvilken som helst konvensjonell måte. In another embodiment of the invention, where the user device does not contain a communication module and no direct exchange of information with service providers via the user device itself is possible, or when it is not practical to exchange all information through the device, the user himself can act as an "intermediary" between the user device and the service provider. To communicate with the service provider, the user can then use any means of communication that is available, such as e.g. a personal computer connected to the Internet, the main thing being that the exchange of the user's information to the service provider and the reactions sent back from the service provider to the user takes place in an acceptable way, preferably in real time. The communication connection or channel itself can, if necessary for security reasons, of course be scrambled or encrypted in any conventional way.

Enten det er et teknisk arrangement tilstede for kommunikasjon utstyr-til-utstyr, eller ikke, kan autentiseringsmetoden i henhold til oppfinnelsen i prinsippet være lik den anskueliggjort i fig. 7, bare med en person eller et eller annet annet kommunikasjonsarrangement som "mellomledd" når brukeranordningen mangler en kommunikasjonsfunksjon. Whether there is a technical arrangement present for equipment-to-equipment communication or not, the authentication method according to the invention can in principle be similar to that illustrated in fig. 7, only with a person or some other communication arrangement as "intermediate" when the user device lacks a communication function.

I stedet for å få en variabel mottatt fra tjenesteleverandøren som en del av en utfordring derfra (trinn S7 i fig. 7) forutses også den mulighet at en variabel som skal brukes for den interne beregning i brukeranordningen av et engangspassord, kan genereres av selve brukeranordningen. I så fall må det sørges for et arrangement hvor tjenesteleverandøren på sin side er i stand til å bruke den samme variabel i beregningen av engangspassordet (trinn S9 i fig. 7) for sammenligning med det fra brukeranordningen Instead of having a variable received from the service provider as part of a challenge from there (step S7 in Fig. 7), the possibility is also foreseen that a variable to be used for the internal calculation in the user device of a one-time password can be generated by the user device itself . In that case, an arrangement must be provided where the service provider is able to use the same variable in the calculation of the one-time password (step S9 in Fig. 7) for comparison with that from the user device

(trinn S10 i fig. 7). Sådanne arrangementer er kjent for fagfolk på området og kan omfatte mekanismer som f.eks. bruker synkroniserte deler av en tidsvariabel eller et sekvensnummer. (step S10 in Fig. 7). Such arrangements are known to those skilled in the art and may include mechanisms such as e.g. uses synchronized parts of a time variable or a sequence number.

Innledningsvis brukerregistrering Initially, user registration

For mange tjenester som tilbys allmennheten må generelt en kunde eller bruker av en sådan tjeneste registrere seg hos den respektive tjenesteleverandør for å få tilgang til vedkommende tjeneste(r) (f.eks. abonnere på tjenesten). I forbindelse med utnyttelse av utførelsesformer av foreliggende oppfinnelse for sådanne tjenester er dette også tilfellet. Som vist med f.eks. trinn S1 i fig. 7 er det således en forutsetning at brukeren innledningsvis er registrert hos tjenesteleverandøren med sitt brukernavn og en tilhørende sikkerhetskode oppnådd ved hjelp av metoden i henhold til oppfinnelsen. For many services offered to the general public, a customer or user of such a service must generally register with the respective service provider in order to access the relevant service(s) (e.g. subscribe to the service). In connection with the utilization of embodiments of the present invention for such services, this is also the case. As shown with e.g. step S1 in fig. 7, it is therefore a prerequisite that the user is initially registered with the service provider with their username and an associated security code obtained using the method according to the invention.

En måte som brukeren kan oppnå sin sikkerhetskode på er å utføre trinnene i fremgangsmåten forklart ovenfor under avsnittet "Beregning av sikkerhetskode" og anskueliggjort i fig. 2, som gir en "to-faktorkode". En annen måte er først å legge inn en spesifikk tjenesteleverandørkode (som kan gjelde bare en bestemt tjeneste) og så beregne en "tre-faktorkode", hvilket også er nevnt i nevnte avsnitt. En sådan prosedyre kan, slik som vist i fig. 8 omfatte de etterfølgende trinn: fra tjenesteleverandøren sendes en tjenesteleverandørkode til en bruker (trinn S1a), One way in which the user can obtain his security code is to carry out the steps in the procedure explained above under the section "Calculation of security code" and illustrated in fig. 2, which provides a "two-factor code". Another way is to first enter a specific service provider code (which may only apply to a specific service) and then calculate a "three-factor code", which is also mentioned in the aforementioned section. Such a procedure can, as shown in fig. 8 include the following steps: a service provider code is sent from the service provider to a user (step S1a),

eller det overlates til brukeren å velge en tjenesteleverandørkode (trinn S1b), or it is left to the user to select a service provider code (step S1b),

- hos brukeren legges tjenesteleverandørkoden inn i brukeranordningen (trinn S2), typisk ved hjelp av tastaturet legges den personlige brukerkode inn i den elektroniske - with the user, the service provider code is entered into the user device (step S2), typically using the keyboard, the personal user code is entered into the electronic

anordning (trinn S3), device (step S3),

fra den elektroniske anordnings datalagringsutstyr hentes utstyrsidentifikatoren for from the electronic device's data storage device, the device identifier is retrieved for

anordningen (trinn S4), the device (step S4),

- tjenesteleverandørkoden lagres valgfritt i den elektroniske anordnings datalagringsutstyr (trinn S5), - the service provider code is optionally stored in the electronic device's data storage device (step S5),

internt i den elektroniske anordning beregnes en sikkerhetskode på grunnlag av utstyrsidentifikatoren, brukerens personlige kode og tjenesteleverandørkoden (trinn 56) , internally in the electronic device, a security code is calculated on the basis of the equipment identifier, the user's personal code and the service provider code (step 56),

brukernavnet og den beregnede sikkerhetskode sendes til tjenesteleverandøren (trinn the username and the calculated security code are sent to the service provider (step

57) , og 57), and

i en kundefil hos tjenesteleverandøren registreres brukernavnet og den tilhørende sikkerhetskode mottatt fra brukeren (trinn S8). the user name and the corresponding security code received from the user are registered in a customer file with the service provider (step S8).

I begge tilfeller kan utvekslingen av informasjon mellom bruker og tjenesteleverandør foregå ved hjelp av et hvilket som helst tilgjengelig kommunikasjonsmiddel, slik som ved hjelp av brev hos Posten, telefaks eller til og med talekommunikasjon. In both cases, the exchange of information between user and service provider can take place by means of any available means of communication, such as by means of letters from Posten, telefax or even voice communication.

Skjønt beskrivelsen av foretrukne utførelsesformer er gjort på grunnlag av at oppfinnelsen er implementert i programvare, kan oppfinnelsen realiseres ved hjelp av maskinvarekomponenter som utfører lignende oppgaver som programvaren i de beskrevne utførelsesformer. Although the description of preferred embodiments is made on the basis that the invention is implemented in software, the invention can be realized using hardware components that perform similar tasks to the software in the described embodiments.

Claims (11)

1. Fremgangsmåte ved frembringelse av en reproduserbar sikkerhetskode for å autentisere en bruker og for lagring, signering og kryptering/dekryptering av informasjon ved hjelp av en programmerbar brukeranordning som omfatter i det minste et datainngangsgrensesnitt, databehandlingsutstyr og datalagringsutstyr som omfatter et lesbart, fiklingssikkert lager hvor en utstyrsidentifikator som entydig identifiserer brukeranordningen, er lagret på forhånd, der fremgangsmåten videre omfatter trinnene av: a) å legge inn en personlig brukerkode i brukeranordningen via nevnte datainngangsgrensesnitt, b) å hente utstyrsidentifikatoren fra brukeranordningens datalagringsutstyr, c) å legge inn i brukeranordningen en tjenesteleverandørkode som representerer en tjenesteleverandør som brukeren er registrert hos med sitt brukernavn, eller a. å hente fra brukeranordningens datalagringsutstyr en tjenesteleverandørkode som representerer en tjenesteleverandør som brukeren er registrert hos med sitt brukernavn d) - å beregne basert på en enveis krypteringsalgoritme inne i brukeranordningen en sikkerhetskode på grunnlag av en kombinasjon av utstyrsidentifikatoren, den personlige brukerkode og nevnte tjenesteleverandørkode uten at brukerkoden lagres, og e) å avgi den beregnede sikkerhetskode, idet den derved beregnede sikkerhetskode i seg selv representerer både brukeren og brukeranordningen.1. Method for generating a reproducible security code for authenticating a user and for storing, signing and encrypting/decrypting information using a programmable user device comprising at least a data input interface, data processing equipment and data storage equipment comprising a readable, tamper-proof storage where a device identifier that uniquely identifies the user device is stored in advance, where the method further comprises the steps of: a) entering a personal user code into the user device via said data input interface, b) retrieving the device identifier from the user device's data storage device, c) entering into the user device a service provider code that represents a service provider that the user is registered with with their username, or a. to retrieve from the user device's data storage equipment a service provider code that represents a service provider that the user is registered with with their username n d) - to calculate based on a one-way encryption algorithm inside the user device a security code on the basis of a combination of the equipment identifier, the personal user code and said service provider code without the user code being stored, and e) to issue the calculated security code, the thereby calculated security code itself itself represents both the user and the user device. 2. Fremgangsmåte som angitt i krav 1, der brukeranordningen tjener som en generisk "flerkodegenerator" for tjenester fra flere tjenesteleverandører.2. Method as set forth in claim 1, wherein the user device serves as a generic "multi-code generator" for services from multiple service providers. 3. Fremgangsmåte som angitt i krav 1 eller 2, der både den personlige brukerkode og tjenesteleverandørkoden omfatter en respektiv sekvens av alfabetiske og/eller numeriske tegn, eller en sekvens av binære data.3. Method as stated in claim 1 or 2, where both the personal user code and the service provider code comprise a respective sequence of alphabetic and/or numerical characters, or a sequence of binary data. 4. Fremgangsmåte som angitt i krav 1 eller 2, der biometriske data som representerer brukeren av anordningen utgjør hele eller en del av den personlige brukerkode.4. Method as stated in claim 1 or 2, where biometric data representing the user of the device constitutes all or part of the personal user code. 5. Fremgangsmåte som angitt i krav 3, og hvor tjenesteleverandørkoden representerer en tjeneste tilbudt av tjenesteleverandøren.5. Procedure as stated in claim 3, and where the service provider code represents a service offered by the service provider. 6. Fremgangsmåte som angitt i krav 2, og som videre omfatter et trinn hvor tjenesteleverandørkoden lagres i brukeranordningens datalagringsutstyr.6. Method as stated in claim 2, and which further comprises a step where the service provider code is stored in the user device's data storage equipment. 7. Fremgangsmåte som angitt i krav 6, og hvor beregningen internt i brukeranordningen av en sikkerhetskode baseres på en kombinasjon av utstyrsidentifikatoren, den personlige brukerkode og nevnte tjenesteleverandørkode forut for lagring i brukeranordningens datalagringsutstyr.7. Method as stated in claim 6, and where the calculation internally in the user device of a security code is based on a combination of the equipment identifier, the personal user code and said service provider code prior to storage in the user device's data storage equipment. 8. Fremgangsmåte som angitt i ett eller flere av kravene 1 - 7 der brukeren er registrert i en kundefil hos en tjenesteleverandør med sitt brukernavn og den tilhørende sikkerhetskoden der fremgangsmåten ytterligere omfatter trinnene av å: f) å angi et brukernavn overfor tjenesteleverandøren, g) å søke i kundefilen hos tjenesteleverandøren for å finne det angitte brukernavn og dersom det er tilstede i filen å sende en utfordring tilbake til brukeren, h) å legge en personlig brukerkode inn i brukeranordningen og fra brukeranordningens datalagringsutstyr å hente brukeranordningens utstyrsidentifikator, i) å beregne nevnte sikkerhetskode inne i brukeranordningen, j) å legge en variabel mottatt fra tjenesteleverandøren som nevnte utfordring inn i brukeranordningen og ved å bruke en kryptografisk algoritme å beregne inne i brukeranordningen et engangspassord på grunnlag av nevnte sikkerhetskode og variabel, k) å angi det beregnede engangspassord overfor tjenesteleverandøren, I) å gjenvinne fra kundefilen hos tjenesteleverandøren den sikkerhetskode som tilsvarer brukernavnet angitt av brukeren, m) å beregne hos tjenesteleverandøren, ved å bruke den samme kryptografiske algoritme som brukeranordningen, et engangspassord på grunnlag av sikkerhetskoden gjenvunnet fra kundefilen og den samme variabel som ble sendt tilbake til brukeren og benyttet av brukeranordningen, n) å sammenligne hos tjenesteleverandøren det nettopp beregnede engangspassord med det mottatt fra brukeren, og o) dersom engangspassordene er identiske er autentiseringsresultatet positivt, idet det bekrefter at brukeren identifisert ved brukernavnet er i besittelse av brukeranordningen og en tilhørende personlig brukerkode..8. Method as stated in one or more of claims 1 - 7 where the user is registered in a customer file with a service provider with his username and the associated security code where the method further comprises the steps of: f) entering a username to the service provider, g) to search the customer file at the service provider to find the specified username and if it is present in the file to send a challenge back to the user, h) to enter a personal user code into the user device and from the user device's data storage device to retrieve the user device's device identifier, i) to calculate said security code inside the user device, j) to put a variable received from the service provider as said challenge into the user device and by using a cryptographic algorithm to calculate inside the user device a one-time password on the basis of said security code and variable, k) to enter the calculated one-time password towards the service provider, I) to recover f ra customer file at the service provider the security code corresponding to the username specified by the user, m) to calculate at the service provider, using the same cryptographic algorithm as the user device, a one-time password on the basis of the security code recovered from the customer file and the same variable that was sent back to the user and used by the user device, n) to compare at the service provider the one-time password just calculated with the one received from the user, and o) if the one-time passwords are identical, the authentication result is positive, as it confirms that the user identified by the username is in possession of the user device and an associated personal user code. . 9. Fremgangsmåte som angitt i krav 8, og hvor angivelsene gitt av brukeren til tjenesteleverandøren og reaksjonene som sendes tilbake av tjenesteleverandøren til brukeren formidles ved hjelp av et kommunikasjonsarrangement som åpner for utveksling av informasjon mellom bruker og tjenesteleverandør.9. Procedure as stated in claim 8, and where the information provided by the user to the service provider and the reactions sent back by the service provider to the user are conveyed by means of a communication arrangement that allows for the exchange of information between the user and the service provider. 10. Fremgangsmåte som angitt i krav 9, og hvor brukeranordningen har en kommunikasjonsfunksjon som lar brukeren legge inn sine angivelser til tjenesteleverandøren via et datainngangsgrensesnitt for anordningen, for overføring til tjenesteleverandøren, og for å motta reaksjonene fra tjenesteleverandøren direkte inn i brukeranordningen.10. Method as set forth in claim 9, and where the user device has a communication function that allows the user to enter their information to the service provider via a data input interface for the device, for transmission to the service provider, and to receive the reactions from the service provider directly into the user device. 11. Fremgangsmåte som angitt i krav 9, og hvor arrangementet med toveiskommunikasjon omfatter en offentlig kommunikasjonstjeneste eller -mulighet som er tilgjengelig for brukeren utenom brukeranordningen.11. Procedure as specified in claim 9, and where the arrangement with two-way communication includes a public communication service or option that is available to the user outside the user device.
NO20074124A 2005-01-11 2007-08-09 Procedure for generating security code. NO338937B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
NO20074124A NO338937B1 (en) 2005-01-11 2007-08-09 Procedure for generating security code.

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
NO20050152A NO20050152D0 (en) 2005-01-11 2005-01-11 Method of generating security code and programmable device therefor
PCT/NO2006/000012 WO2006075917A2 (en) 2005-01-11 2006-01-11 Security code production method and methods of using the same, and programmable device therefor
NO20074124A NO338937B1 (en) 2005-01-11 2007-08-09 Procedure for generating security code.

Publications (2)

Publication Number Publication Date
NO20074124L NO20074124L (en) 2007-10-11
NO338937B1 true NO338937B1 (en) 2016-10-31

Family

ID=38792420

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20074124A NO338937B1 (en) 2005-01-11 2007-08-09 Procedure for generating security code.

Country Status (1)

Country Link
NO (1) NO338937B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657388A (en) * 1993-05-25 1997-08-12 Security Dynamics Technologies, Inc. Method and apparatus for utilizing a token for resource access

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657388A (en) * 1993-05-25 1997-08-12 Security Dynamics Technologies, Inc. Method and apparatus for utilizing a token for resource access

Also Published As

Publication number Publication date
NO20074124L (en) 2007-10-11

Similar Documents

Publication Publication Date Title
JP4866863B2 (en) Security code generation method and user device
RU2434352C2 (en) Reliable authentication method and device
US20210264010A1 (en) Method and system for user authentication with improved security
US9338163B2 (en) Method using a single authentication device to authenticate a user to a service provider among a plurality of service providers and device for performing such a method
US9112680B2 (en) Distribution of credentials
US9223994B2 (en) Secure transaction method from a non-secure terminal
US20160205098A1 (en) Identity verifying method, apparatus and system, and related devices
JP2007506392A (en) Data communication security mechanisms and methods
WO2014141263A1 (en) Asymmetric otp authentication system
US20100005519A1 (en) System and method for authenticating one-time virtual secret information
CN105281899A (en) Apparatus and method for password authentication
US20120189125A1 (en) Method for establishing a secure communication channel
US11394545B2 (en) Communication system, server device, user device, method, and computer program
NO338937B1 (en) Procedure for generating security code.
KR101014788B1 (en) Mobile system, service system and service providing method for securely transmitting private information for use in service
KR20170109471A (en) Method of encrypting data
JP2012212405A (en) Application authentication system, application authentication method, and program

Legal Events

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

Owner name: ALLCLEAR ID, US

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

Owner name: ENCAP AS, NO

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

Owner name: SIGNICAT AS, NO

CREP Change of representative

Representative=s name: DEHNS NORDIC AS, GAUSTADALLEEN 21, 0349 OSLO