SE514769C2 - Methods and systems for authenticating a mobile communication device - Google Patents

Methods and systems for authenticating a mobile communication device

Info

Publication number
SE514769C2
SE514769C2 SE9902746A SE9902746A SE514769C2 SE 514769 C2 SE514769 C2 SE 514769C2 SE 9902746 A SE9902746 A SE 9902746A SE 9902746 A SE9902746 A SE 9902746A SE 514769 C2 SE514769 C2 SE 514769C2
Authority
SE
Sweden
Prior art keywords
computer system
codeword
code message
code
computer
Prior art date
Application number
SE9902746A
Other languages
Swedish (sv)
Other versions
SE9902746D0 (en
SE9902746L (en
Inventor
Anders Haakans
Frank Reichert
Original Assignee
Ericsson Telefon Ab L M
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Priority to SE9902746A priority Critical patent/SE514769C2/en
Publication of SE9902746D0 publication Critical patent/SE9902746D0/en
Priority to CNB008130310A priority patent/CN1153501C/en
Priority to PCT/SE2000/001418 priority patent/WO2001006805A1/en
Priority to AU61922/00A priority patent/AU6192200A/en
Priority to JP2001510503A priority patent/JP2003504773A/en
Priority to EP00948441A priority patent/EP1195071A1/en
Publication of SE9902746L publication Critical patent/SE9902746L/en
Publication of SE514769C2 publication Critical patent/SE514769C2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

In a method and a system for providing an authentication of a mobile communication device (115) a code word is generated in a computer system (101) which code word is transmitted to the device (115). When receiving the code word the device automatically generates a code message using the code word, and transmits the code message to the computer system. Data is then transmitted from the computer system to the device if the code message is authenticated by the computer system. In a preferred embodiment the device useS a Hypertext Transfer Protocol (HTTP) or Simple Mail Transport Protocol (SMTP) to transmit the code message. This is advantageous since a firewall is designed to let traffic using such protocols through. Thus, the security provided by the firewall is not reduced. By using such a method and system, several different types of authenticated data transmission can be obtained. For example, automated forwarding of data, such as electronic mail (E-mail), facilitated logging in on a secure network, such as a bank and many more applications where an authentication of a user is required or desired.

Description

F*; "CT- DÉÅL- /UV Detta och andra syften uppnås genom ett sätt och ett system anordnat för utförande av följande steg: (I) - Generering av ett kodord i datorsystemet, vilket kodord sänds till anordningen. F *; "CT DÉÅL- / UV This and other objects are achieved by a method and a system arranged to perform the following steps: (I) - Generation of a codeword in the computer system, which codeword is sent to the device.

(II) - Mottagning av kodordet i anordningen.(II) - Receiving the codeword in the device.

(III) - Generering av ett kodmeddelande, i anordningen, baserat på det mottagna kodordet, varvid genereringen utförs på ett förutbestämt sätt.(III) - Generation of a code message, in the device, based on the received codeword, the generation being performed in a predetermined manner.

(IV) - Sändning av kodmeddelandet fràn anordningen till datorsystemet.(IV) - Sending the code message from the device to the computer system.

(V) - Användning av kodordet för att kontrollera kodmeddelandet, samt (VI) - Sändning av data från datorsystemet till anordningen om kodmeddelandet verifieras av datorsystemet.(V) - Use of the codeword to check the code message, and (VI) - Transmission of data from the computer system to the device if the code message is verified by the computer system.

Före steg (V) sänder datorsystemet information (t.ex. kodordet och ett "you've got mail"-meddelande) som används i autentiseringsprocessen, men anordningen har inte åtkomst till data i datorsystemet. Företrädesvis genererar datorsystemet ett slumpmässigt kodord. När datorsystemet sänder kodordet ill anordningen i steg (I) använder datorsystemet företrädesvis en förutbestämd adress för anordningen. Genereringen av kodmeddelandet i steg (III) utförs företrädesvis genom kryptering av det mottagna kodordet med användning av en unik krypteringsnyckel hos anordningen. Om kodmeddelandet verifieras, steg (VI), är anordningens adress autentiserad för datasändning.Before step (V), the computer system sends information (such as the password and an "you've got mail" message) used in the authentication process, but the device does not have access to data in the computer system. Preferably, the computer system generates a random codeword. When the computer system sends the codeword ill the device in step (I), the computer system preferably uses a predetermined address for the device. The generation of the code message in step (III) is preferably performed by encrypting the received codeword using a unique encryption key of the device. If the code message is verified, step (VI), the device address is authenticated for data transmission.

Vid en föredragen utföringsform sänder anordningen kodmeddelandet med användning av ett HTTP- (Hypertext Transfer Protocol) eller SMTP- (Simple Mail Transport Protocol) protokoll. Detta är fördelaktigt eftersom en brandvägg är konstruerad för att släppa igenom trafik med användning av sådana protokoll. Med andra ord minskas inte den genom brandväggen erhållna säkerheten. Vidare sänder datorsystemet m 514 'ïé9 J företrädesvis även data i steg (VI) till den adress från vilken anordningen sände det kodade meddelandet, varvid datorsystemet exempelvis extraherar mobilkommunikationsanordningens såndaradress och sänder data till denna adress. Denna adress kan skilja sig från den adress till vilken kodordet sändes.In a preferred embodiment, the device sends the code message using an HTTP (Hypertext Transfer Protocol) or SMTP (Simple Mail Transport Protocol) protocol. This is advantageous because a firewall is designed to let traffic through using such protocols. In other words, the security obtained through the firewall is not reduced. Furthermore, the computer system m 514 ', preferably also transmits data in step (VI) to the address from which the device sent the coded message, the computer system for example extracting the transmitter address of the mobile communication device and sending data to this address. This address may differ from the address to which the codeword was sent.

Genom användning av ett sådant sätt och system kan flera olika typer av autentiserad datasåndning uppnås. Automatiserad vidarebefordran av data, såsom elektronisk post (e-post), underlättad inloggning på ett säkert nätverk, såsom en bank och många andra applikationer där autentiserad sändning erfordras eller är önskvärd, kan nämnas som exempel.By using such a method and system, several different types of authenticated data transmission can be achieved. Automated transmission of data, such as electronic mail (e-mail), facilitated login to a secure network, such as a bank and many other applications where authenticated transmission is required or desired, can be mentioned as examples.

Användningen av det här beskrivna systemet och sättet underlättar även autentisering ur användarens synpunkt. Det föreligger sålunda ej något behov av generator för ett engångslösenord på systemets kundsida, eftersom det slumpmässiga kodordet genereras på systemets datorsystemsida.The use of the system and method described here also facilitates authentication from the user's point of view. Thus, there is no need for a one-time password generator on the system client side, since the random codeword is generated on the system computer side.

KORT BESKRIVNING AV RITNINGARNA Föreliggande uppfinning kommer nu att beskrivas mera detaljerat med hjälp av icke begränsande exempel och med hänvisning till åtföljande ritningar, på vilka: - Fig. 1 är en schematisk vy av ett system för automatisk överföring av e-post eller andra data med användning av internet.BRIEF DESCRIPTION OF THE DRAWINGS The present invention will now be described in more detail by way of non-limiting example and with reference to the accompanying drawings, in which: Fig. 1 is a schematic view of a system for automatic transmission of e-mail or other data with use of the internet.

- Fig. 2 är en schematisk vy av ett system för automatisk överföring av e-post eller andra data med användning av ett paketdatanät.Fig. 2 is a schematic view of a system for automatic transmission of e-mail or other data using a packet data network.

- Fig. 3 är en schematisk vy av ett system för automatisk autentisering av en anordning över en internetanslutning.Fig. 3 is a schematic view of a system for automatic authentication of a device over an Internet connection.

- Fig. 4 är ett flödesschema som åskådliggör de utförda stegen vid autentisering av en mobilkommunikationsanordning och initiering av en datatransmission i systemet enligt fig. 1.Fig. 4 is a flow chart illustrating the steps performed in authenticating a mobile communication device and initiating a data transmission in the system of Fig. 1.

- Fig. Sa och 5b år flödesscheman som åskådliggör de utförda stegen vid autentisering av en mobilkommunikationsanordning och initiering av en datatransmission i systemet i fig. 2. 514 769 L! - Pig. 6 är ett flödesschema åskådliggörande a» U) :egen vid autentisering av en mobilkommunikationsanordning i systemet enligt fig. 3.Figs. 5a and 5b are flow charts illustrating the steps performed in authenticating a mobile communication device and initiating a data transmission in the system of Fig. 2. 514 769 L! - Pig. 6 is a flow chart illustrating a »U): own in authenticating a mobile communication device in the system of Fig. 3.

BESKRIVNING Av FÖREDRAGNA UTFÖRINGSFORMER I fig. 1 visas en schematisk vy av ett system för automatisk överföring av e-post eller andra data med användning av en icke visad internetanslutning. Systemet innefattar ett datorsystem 101, som i sin tur kan innefatta ett antal olika datorer och andra anordningar. Datorsystemet 101 i fig. 1 innefattar en server 103 för elektronisk post (e-post) ansluten till ett lokalområdesnät (LAN) 107 hos datorsystemet 101. Servern 103 är anordnad att hantera elektronisk post (e-post) i datorsystemet 101. Datorsystemet 101 innefattar även en autentiseringsserver 105, som likaså är ansluten till LAN 107 och till en kommunikationsanordning 108 för sändning av meddelanden utanför datorsystemet 101.DESCRIPTION OF PREFERRED EMBODIMENTS Fig. 1 shows a schematic view of a system for automatically transmitting e-mail or other data using an Internet connection (not shown). The system includes a computer system 101, which in turn may include a number of different computers and other devices. The computer system 101 in Fig. 1 comprises a server 103 for electronic mail (e-mail) connected to a local area network (LAN) 107 of the computer system 101. The server 103 is arranged to handle electronic mail (e-mail) in the computer system 101. The computer system 101 comprises also an authentication server 105, which is also connected to LAN 107 and to a communication device 108 for sending messages outside the computer system 101.

Hela datorsystemet 101 är exempelvis beläget innanför en brandvägg 109. Det enda sättet att föra in data från utanför brandväggen 109 till datorsystemet 101 är genom brandväggen 109.For example, the entire computer system 101 is located inside a firewall 109. The only way to enter data from outside the firewall 109 to the computer system 101 is through the firewall 109.

FT Brandväggen 109 är anordnad att sl ppa igenom endast datatrafi er som anländer i ett HTTP- ell En mobilkommunikationsanordning 115 är belägen utanför brandväggen. Brandväggen är ansluten till i ternet 111, som i n sin tur är anslutet till ett antal leverantörer 113 av internettjänster (ISP-Internet Service Providers).FT Firewall 109 is arranged to let through only data traffic arriving in an HTTP or A mobile communication device 115 is located outside the firewall. The firewall is connected to the Internet 111, which in turn is connected to a number of 113 ISP Internet Service Providers.

Leverantörerna 113 av internettjänster tillhandahåller ett gränssnitt via vilket olika anordningar, såsom mobilkommunikationsanordningen 115, kan anslutas till internet.The providers 113 of Internet services provide an interface via which various devices, such as the mobile communication device 115, can be connected to the Internet.

I fig. 4 åskådliggör ett flödesschema olika steg som utförs vid autentisering av en mobilkommunikationsanordning 115 och initiering av en datatransmission från datorsystemet 101 till mobilkommunikationsanordningen 115 i det i fig. 1 visade systemet.In Fig. 4, a flow chart illustrates various steps performed in authenticating a mobile communication device 115 and initiating a data transmission from the computer system 101 to the mobile communication device 115 in the system shown in Fig. 1.

Först förorsakar en händelse, såsom anländande av e-post till e- post-servern 103 hos datorsystemet 101, vilken e-post är 514- 769 b adresserad till en användare av anordningen 115, triggning av upprättande av en autentiserad transmission mot anordning 115 från datorsystemet 101, steg 401. Med andra ord är datorsystemet 101 anordnat att automatiskt överföra data, i detta fall elektronisk post, som finns i datorsystemet och som är avsedd för en kund som för närvarande är belägen utanför datorsystemet 101 och sålunda även utanför brandväggen 109.First, an event, such as the arrival of e-mail to the e-mail server 103 of the computer system 101, which e-mail is 514-769b addressed to a user of the device 115, causes the establishment of an authenticated transmission against the device 115 from computer system 101, step 401. In other words, computer system 101 is arranged to automatically transmit data, in this case electronic mail, which is in the computer system and which is intended for a customer which is currently located outside the computer system 101 and thus also outside the firewall 109.

Systemet 101 genererar därpå ett slumpartat kodord, steg 403.The system 101 then generates a random codeword, step 403.

Kodordet genereras av autentiseringsservern 105. Det av autentiseringsservern 105 genererade kodordet sänds via kommunikationsanordningen 108, exempelvis medelst sändning av ett SMS- (Short Message Service) meddelande till anordningen 115, steg 405. Autentiseringsservern använder en förutbestämd adress för användaren, i detta fall ett SMS-nummer.The codeword is generated by the authentication server 105. The password generated by the authentication server 105 is sent via the communication device 108, for example by sending an SMS (Short Message Service) message to the device 115, step 405. The authentication server uses a predetermined address for the user, in this case an SMS -number.

Anordningen 115 mottager kodordet från datorsystemet 101, steg 407. Som svar på denna mottagning ansluter anordningen automatiskt till en internettjänstleverantör (ISP) 113, steg 409. När anordningen 115 ansluts till ISP 113 mottager den en internetprotokoll(IP)-adress från ISP 113, steg 411. Anordningen genererar även ett kodmeddelande baserat på det mottagna kodordet, steg 414.The device 115 receives the codeword from the computer system 101, step 407. In response to this reception, the device automatically connects to an Internet Service Provider (ISP) 113, step 409. When the device 115 is connected to the ISP 113, it receives an Internet Protocol (IP) address from the ISP 113. step 411. The device also generates a code message based on the received codeword, step 414.

När anordningen har mottagit en IP-adress, upprättas en e-post- server inuti anordningen, steg 413. E-post sänds därpå till autentiseringsservern 105 hos datorsystemet, steg 415. E-posten från anordningen 115 till autentiseringsservern 105 sänds via ISP 113, internet 111, genom brandväggen 109 och via LAN 107.Once the device has received an IP address, an e-mail server is established inside the device, step 413. E-mail is then sent to the authentication server 105 of the computer system, step 415. The e-mail from the device 115 to the authentication server 105 is sent via ISP 113, internet 111, through the firewall 109 and via LAN 107.

E-posten från anordningen 115 till autentiseringsservern 105 innefattar åtminstone kodmeddelandet. Kodmeddelandet genereras företrädesvis genom kryptering av det mottagna kodordet med användning av en unik krypteringsnyckel. I synnerhet genereras kodmeddelandet genom kryptering av kodordet tillsammans med en del av en krypteringsnyckel.The e-mail from the device 115 to the authentication server 105 includes at least the code message. The code message is preferably generated by encrypting the received codeword using a unique encryption key. In particular, the code message is generated by encrypting the codeword together with a part of an encryption key.

Vid en föredragen utföringsform sänds e-posten från anordningen till autentiseringsservern 105 med användning av ett SMTP- eller HTTP-protokoll eftersom brandväggen 109 är utförd att endast 7 O / 'l ...X r\ \ Ch släppa igenom sådan datatrafik. Brandväggen 109 kan sålunda upprätthålla en hög säkerhetsnivå. Företrädesvis används SMTP- protokollet, eftersom det endast kräver användning av ett uttag för anslutningen.In a preferred embodiment, the email from the device is sent to the authentication server 105 using an SMTP or HTTP protocol since the firewall 109 is configured to pass only such data traffic. The firewall 109 can thus maintain a high level of security. The SMTP protocol is preferably used, as it only requires the use of one socket for the connection.

Därpå mottager autentiseringsservern kodmeddelandet från anordningen, steg 417. Kodordet extraheras därpå från den mottagna e-posten, vilket kan erfordra avkryptering om kodordet är krypterat, steg 419. Därpå sker kontroll av om det översända kodordet överensstämmer med det extraherade kodordet, steg 421.The authentication server then receives the code message from the device, step 417. The codeword is then extracted from the received e-mail, which may require decryption if the codeword is encrypted, step 419. Then it is checked whether the transmitted codeword matches the extracted codeword, step 421.

Om det extraherade kodordet ej överensstämmer med det sända kodordet avslutas sessionen, steg 423. Vid en föredragen utföringsform kan emellertid datorsystemet 101 vara anordnat att fortsätta att försöka upprätta en autentiserad anslutning till anordningen 115 senare.If the extracted codeword does not match the transmitted codeword, the session ends, step 423. In a preferred embodiment, however, the computer system 101 may be arranged to continue trying to establish an authenticated connection to the device 115 later.

Om kodordet, vid extrahering, överensstämmer med det kodord som ursprungligen sändes till anordningen 115, vet autentiseringsservern att det rör sig om den rätta anordningen.If the codeword, upon extraction, matches the codeword originally sent to the device 115, the authentication server knows that it is the correct device.

Autentiseringsservern vet nu vart data skall sändas, i detta exempel e-post. Autentiseringsservern 105 kopierar sålunda datat från e-post-servern och sänder e-posten till anordningen 115 med användning av anordningens IP~adress, steg 425. Det sända datat är företrädesvis krypterat med användning av en unik krypteringsnyckel hos anordningen 115.The authentication server now knows where the data is to be sent, in this example email. Thus, the authentication server 105 copies the data from the e-mail server and sends the e-mail to the device 115 using the device IP address, step 425. The transmitted data is preferably encrypted using a unique encryption key of the device 115.

I fig. 2 visas ett annat system för automatisk överföring av elektronisk post eller annan data, som använder paketdatatransmission. Det i fig. 2 visade systemet liknar det i fig. 1 visade. Istället för att använda en ISP 113 för sändning av data mellan datorsystemet 101 och anordningen 105 används emellertid ett paketdatanät 112. Internet kan naturligtvis användas för sändningar mellan datorsystemet 101 och paketdatanätet 112.Fig. 2 shows another system for automatic transmission of electronic mail or other data, which uses packet data transmission. The system shown in Fig. 2 is similar to that shown in Fig. 1. However, instead of using an ISP 113 for transmitting data between the computer system 101 and the device 105, a packet data network 112 is used. The Internet can, of course, be used for transmissions between the computer system 101 and the packet data network 112.

I fig. 5a visas ett flödesschema àskådliggörande stegen som utförs vid autentisering av en mobilkommunikationsanordning i systemet enligt fig. 2. Flödesschemat i fig. 5 liknar F 4 13:13 75.19 7 flödesschemat i fig. 4. Transmissionen frän anordningen 115 till datorsystemet 101 sker emellertid via paketdatanätet 112.Fig. 5a shows a flow chart illustrating the steps performed in authenticating a mobile communication device in the system of Fig. 2. The flow chart of Fig. 5 is similar to the flow chart of Fig. 4. The transmission from the device 115 to the computer system 101 takes place. however, via the packet data network 112.

Eftersom i detta fall anordningen redan är ansluten till mobilnätet när kodordet sänds, kan även kodordet sändas till en förutbestämd adress hos anordningen med användning av paketdatanätet. Kodordet kan då överföras inbäddat i ett datapaket.Since in this case the device is already connected to the mobile network when the codeword is transmitted, the codeword can also be transmitted to a predetermined address of the device using the packet data network. The password can then be transmitted embedded in a data packet.

I fig. Sb visas ett flödesschema åskàdliggörande ytterligare ett sätt att autentisera en mobilkommunikationsanordning, som liknar den i samband med fig. Sa beskrivna metoden.Fig. Sb shows a flow chart illustrating a further way of authenticating a mobile communication device, which is similar to the method described in connection with Fig. 5a.

Skillnaden mellan flödesschemat i fig. Sa och flödesschemat i fig. Sb är att autentiseringsservern extraherar kodordet (steg 419 i fig. Sa), och jämför det med kodordet, och att autentiseringsservern extraherar kodmeddelandet (steg 418 i fig. 5b) och jämför det med ett självgenererat kodmeddelande med användning av samma kodmeddelandegenererande algoritm som anordningen.The difference between the flowchart in Fig. 5a and the flowchart in Fig. Sb is that the authentication server extracts the codeword (step 419 in Fig. 5a), and compares it with the codeword, and that the authentication server extracts the code message (step 418 in Fig. 5b) and compares it with a self-generated code message using the same code message generating algorithm as the device.

Vid mottagning av kodordet genererar sålunda anordningen ett kodmeddelande med användning av kodordet som indata i en kodmeddelandegenererande algoritm, steg 414. Systemet använder därpå samma kodmeddelandegenererande algoritm som anordningen, steg 420 i ändamål att autentisera anordningen. Anordningen genererar kodmeddelandet, steg 414, under tidsintervallet mellan mottagningen av kodordet, steg 407, och transmissionen av e- posten, steg 415. Autentiseringsservern genererar kodmeddelandet, steg 420, under tidsintervallet mellan genereringen av kodordet, steg 403, och jämförelsen av kodmeddelandena, steg 421.Thus, upon receipt of the codeword, the device generates a code message using the codeword as input in a code message generating algorithm, step 414. The system then uses the same code message generating algorithm as the device, step 420 for the purpose of authenticating the device. The device generates the code message, step 414, during the time interval between the reception of the code word, step 407, and the transmission of the e-mail, step 415. The authentication server generates the code message, step 420, during the time interval between the generation of the code word, step 403, and the comparison of the code messages, step 421.

I fig. 3 visas en vy av ett system för automatisk autentisering av en anordning över en internetanslutning. Systemet kan likna systemet i fig. 1 eller 2. Det i fig. 3 visade systemet innefattar även en server 104 för finansiella transaktioner, som är ansluten till LAN 107. 7\ 534 7 9 8 I fig. 6 visas ett flödesschema äskàdliggörande stegen som utförs vid autentisering av anordningen 115 till datorsystemet 101 i systemet enligt fig. 3.Fig. 3 shows a view of a system for automatic authentication of a device over an Internet connection. The system may be similar to the system of Fig. 1 or 2. The system shown in Fig. 3 also includes a server 104 for financial transactions, which is connected to LAN 107. Fig. 6 shows a flow chart illustrating the steps that is performed upon authentication of the device 115 to the computer system 101 in the system of Fig. 3.

När en användare av anordningen 115 önskar autentiseras av något skäl, t.ex. om användaren önskar utföra finansiella transaktioner i servern 104 för finansiella transaktioner med användning av en säker anslutning, sänder användaren e-post från anordningen 115 till autentiseringsservern 105 med begäran om att bli autentiserad, steg 400. E-posten, som innefattar information identifierande användaren, såsom ett användar-ID, sänds via ISP 113, internet 111, genom brandväggen 109, och via LAN 107 till autentiseringsservern 105.When a user of the device 115 wishes to be authenticated for some reason, e.g. if the user wishes to perform financial transactions in the financial transaction server 104 using a secure connection, the user sends e-mail from the device 115 to the authentication server 105 requesting to be authenticated, step 400. The e-mail, which includes information identifying the user, as a user ID, is sent via ISP 113, Internet 111, through firewall 109, and via LAN 107 to the authentication server 105.

Datorsystemet 101 mottager begäran, steg 402. Som svar på denna begäran genererar autentiseringsservern 105 ett kodord, i synnerhet ett slumpmässigt kodord, steg 403. Systemet 101 sänder därpå kodordet via kommunikationsanordningen 108, t.ex. genom överföring av ett SMS-medelande, till anordningen 115, steg 405.The computer system 101 receives the request, step 402. In response to this request, the authentication server 105 generates a codeword, in particular a random codeword, step 403. The system 101 then sends the codeword via the communication device 108, e.g. by transmitting an SMS message, to the device 115, step 405.

Datorsystemet sänder kodordet till en förutbestämd adress för anordningen 115. Datorsystemet 101 använder den mottagna identifieringsinformationen frän användaren tillsammans med en lagrad adresslista för att erhålla (den förutbestämda) adressen.The computer system sends the codeword to a predetermined address of the device 115. The computer system 101 uses the received identification information from the user together with a stored address list to obtain the (predetermined) address.

Vid en annan föredragen utföringsform sänds det slumpartade kodordet på internet till en server eller liknande, vilken server i sin tur sänder ett SMS-meddelande till anordningen 115.In another preferred embodiment, the random codeword is transmitted on the Internet to a server or the like, which server in turn sends an SMS message to the device 115.

Anordningen 115 mottager kodordet från datorsystemet 101, steg 407, och genererar ett kodmeddelande. Som svar pä denna mottagning sänder anordningen automatiskt en andra e-post, innehållande kodmoddelandet, till autentiseringsservern 105 hos datorsystemet, steg 415. Den andra e-posten från anordningen 115 till autentiseringsservern 105 sänds via ISP 113, internet 111, genom brandväggen 109, och via LAN 107.The device 115 receives the codeword from the computer system 101, step 407, and generates a code message. In response to this reception, the device automatically sends a second e-mail, containing the code model message, to the authentication server 105 of the computer system, step 415. The second e-mail from the device 115 to the authentication server 105 is sent via ISP 113, Internet 111, through the firewall 109, and via LAN 107.

Det bör anmärkas att, till skillnad från autentiseringsproceduren som beskrivs i samband med fig. 1 och fig. 4, anordningen 115 ej behöver upprätta en ny förbindelse till internet vid överföring av e-posten, som innefattar kodmeddelandet, eftersom en internetförbindelse redan har 514, “i upprättats vid sändning av den första e-posten i steg 400. Det är emellertid naturligtvis möjligt att låta anordningen anslutas till internet en andra gång vid mottagning av kodordet i steg 407 om detta skulle visa sig vara fördelaktigt.It should be noted that, unlike the authentication procedure described in connection with Fig. 1 and Fig. 4, the device 115 does not need to establish a new connection to the Internet upon transmission of the e-mail, which includes the code message, since an Internet connection already has 514, Was established when sending the first e-mail in step 400. However, it is of course possible to have the device connected to the Internet a second time upon receipt of the codeword in step 407 if this proves to be advantageous.

E-posten från anordningen 115 till autentiseringsservern 105 innefattar åtminstone kodmeddelandet. Genereringen av kodmeddelandet sker företrädesvis genom användning av en unik krypteringsnyckel. I synnerhet genereras kodmeddelandet genom kryptering av kodordet och en del av krypteringsnyckeln.The e-mail from the device 115 to the authentication server 105 includes at least the code message. The generation of the code message preferably takes place by using a unique encryption key. In particular, the code message is generated by encrypting the codeword and a portion of the encryption key.

I en föredragen utföringsform överförs e-postmeddelandena från anordningen 115 till autentiseringsservern 105 med användning av ett SMTP- eller HTTP-protokoll, eftersom brandväggen 109 är konstruerad att endast släppa igenom sådan datatrafik.In a preferred embodiment, the e-mails are transmitted from the device 115 to the authentication server 105 using an SMTP or HTTP protocol, since the firewall 109 is designed to pass only such data traffic.

Brandväggen 109 kan sålunda vidmakthålla en hög säkerhetsgrad.The firewall 109 can thus maintain a high degree of security.

Företrädesvis används SMTP~protokollet eftersom det endast kräver användning av ett uttag för anslutningen.The SMTP protocol is preferably used because it only requires the use of one socket for the connection.

Därpå mottager autentiseringsservern e-posten från anordningen, steg 417. Kodordet extraheras därpå från den mottagna e-posten, t.ex. genom extrahering och avkryptering av kodmeddelandet, steg 419. Därpå sker kontroll av om det översända kodordet överensstämmer med det mottagna kodordet, steg 421.The authentication server then receives the e-mail from the device, step 417. The codeword is then extracted from the received e-mail, e.g. by extracting and decrypting the code message, step 419. Thereafter, checking whether the transmitted code word matches the received code word, step 421.

Om det extraherade kodordet ej överensstämmer med det sända kodordet avslutas sessionen, steg 423. Vid en föredragen utföringsform kan emellertid datorsystemet 101 vara anordnat att returnera ett meddelande till anordningen för att informera användaren av anordningen att åtkomst nekats, så att användaren kan försöka uppkoppling igen om användaren så önskar.If the extracted password does not match the transmitted password, the session ends, step 423. In a preferred embodiment, however, the computer system 101 may be arranged to return a message to the device to inform the user of the device that access has been denied, so that the user can try to reconnect if the user so desires.

Om det extraherade kodordet överensstämmer med kodordet som ursprungligen sändes till anordningen 115, vet autentiseringsservern att det rör sig om rätt anordning. Kunden kan sålunda börja genomföra transaktioner i servern 104, steg 425.If the extracted codeword matches the codeword originally sent to the device 115, the authentication server knows that it is the correct device. The customer can thus start performing transactions in the server 104, step 425.

Anordningen 115 kan vara en godtycklig typ av mobilkommunikationsanordning, som kan mottaga och sända data.The device 115 may be any type of mobile communication device which can receive and transmit data.

"J1 14, 759 /O Anordningen kan sålunda vara en mobiltelefon, en dator innefattande ett trådlöst modem eller en kombination därav, såsom en handburen dator innefattande en integrerad mobiltelefon. För att anordningen 115 skall kunna arbeta korrekt mäste den laddas med ett lämpligt program, som tillåter anordningen att kommunicera med användning av ovan beskrivna metod. De funktioner som krävs för att tillåta anordningen att arbeta enligt metoden kan naturligtvis implementeras i hårdvara.The device may thus be a mobile telephone, a computer comprising a wireless modem or a combination thereof, such as a handheld computer comprising an integrated mobile telephone. In order for the device 115 to operate properly, it must be charged with a suitable program, which allows the device to communicate using the method described above.The functions required to allow the device to operate according to the method can of course be implemented in hardware.

Mjukvaru- eller hårdvarusupport för autentiseringsmetoden är likaså införd i datorsystemet.Software or hardware support for the authentication method is also introduced in the computer system.

Det i samband med fig. 3 och 6 beskrivna systemet kan även användas i andra typer av transaktioner än finansiella transaktioner. Sålunda är det möjligt att använda systemet i ett flertal tillämpningar där en snabb men säker autentisering av en anordning krävs. Exempel på sådana tillämpningar är bookmakin - transaktioner, biljettbokningstransaktioner, köp och försäljnin av varor etc.The system described in connection with Figures 3 and 6 can also be used in other types of transactions than financial transactions. Thus, it is possible to use the system in a variety of applications where a fast but secure authentication of a device is required. Examples of such applications are bookmaking - transactions, ticket booking transactions, purchase and sale of goods, etc.

I Appendix l-12 visas slutligen en datorprogramlista åskådliggörande en mjukvaruimplementering av olika steg. I Appendix 1-6 visas sålunda en programuppställning i C++språk av vissa procedursteg i datorsystemet. Som exempel avser "lumpio" i Appendix 5-6 kodning och avkodning. I Appendix 7-12 visas en uppställning av vissa procedursteg hos kunden eller anordningen. "pushnot" i Appendix 7-8 initierar exempelvis en uppkoppling vid mottagning av en SMS med användning av funktionen "DoConnect"; "client" i Appendix ll-12 använder funktionerna "lumpIO_fputs" och "lumpIO_fgets" för kryptering och avkryptering, och funktionen "send_file" för sändning av post.Finally, Appendix l-12 shows a computer program list illustrating a software implementation of various steps. Appendix 1-6 thus shows a program list in C ++ language of certain procedure steps in the computer system. By way of example, "lumpio" in Appendix 5-6 refers to encoding and decoding. Appendix 7-12 shows a list of certain procedure steps for the customer or device. "pushnot" in Appendix 7-8, for example, initiates a connection when receiving an SMS using the "DoConnect" function; "client" in Appendix ll-12 uses the "lumpIO_fputs" and "lumpIO_fgets" functions for encryption and decryption, and the "send_file" function for sending mail.

Genom användning av här beskrivna sätt och system kan flera olika typer av autentiserad datasändning uppnås. Som exempel kan nämnas automatiserad överföring av data, såsom elektronisk post (e-post), underlättad inloggning på ett säkert nät, såsom en bank och många fler tillämpningar där autentisering krävs eller är önskvärd. 01 _) __r~ '<1 (ï\ ß /I /*APPENDIX I: pat_smtp.h*/ íiifndeflint static char *rcsid_notifier__h = "$Header$"; #endíf #ifdef UNIX # define DEFAULT_LOG_FILE "/home/lmjm/pat_smtp/ log" # define DEFAULT_CONF1G_F ILE "/home/janko/pat_smtp/pat_smtp.conf“' # define DEFAULT_ACCOUNTS_FILE "/home/janko/pat_smtp/accounts" # define DEFAULT_QUEUE__DIR "/home/janko/pat_smtp/queue" # define DEFAULT_SERVER_VERSION "PAT Server l.0beta" # define MAX_ACCOUNTS 1000 #endíf #ifdef WIN32 # define DEFAULT__LOG_FILE "c/pat/logfilexxt" # define DEFAULT_CONFIG_FILE "c:/pat/pat_smtp.conf“ # define DEFAULT_ACCOUNTS_FILE "cz/pat/accountslxt" # define DEFAULT_QUEUE_DIR "c/pat/queue" # define DEFAULT_SERVER_VERSION "PAT Server l.0beta" # define MAX_ACCOUNTS 1000 #endif #define CLIENT_DOM "evvi" #define BIG_BUF 512 #define bool char #define true l #deñne false 0 extem bool smtp_listener; extem bool daemon; extem int verbose; extem char *config_file; extem char *queue_dir; extem char *server_versíon; extem char *program_name; extem int program _pid; void read_config_file(); i/*APPENDIX 2: pat_smtp.cpp *f/ /* SMTP listener * Can run either as a permanently running process. under inetd (on UNlX) orjust * from the command line.By using the methods and systems described here, several different types of authenticated data transmission can be achieved. Examples include automated data transmission, such as electronic mail (e-mail), facilitated login to a secure network, such as a bank, and many more applications where authentication is required or desired. 01 _) __r ~ '<1 (ï \ ß / I / * APPENDIX I: pat_smtp.h * / íiifndeflint static char * rcsid_noti fi er__h = "$ Header $"; # endíf #ifdef UNIX # de fi ne DEFAULT_LOG_FILE "/ home / lmjm / pat_smtp / log "# de fi ne DEFAULT_CONF1G_F ILE" /home/janko/pat_smtp/pat_smtp.conf "'# de fi ne DEFAULT_ACCOUNTS_FILE" / home / janko / pat_smtp / accounts "# de fi ne DEFAULT_S / PEU_S /" # "PAT Server l.0beta" # de fi ne MAX_ACCOUNTS 1000 # endíf #ifdef WIN32 # de fi ne DEFAULT__LOG_FILE "c / pat / log fi lexxt" # de fi ne DEFAULT_CONFIG_FILE "c: /pat/pat_smtp.conf“ # de COCEF / #F EC nFA " de fi ne DEFAULT_QUEUE_DIR "c / pat / queue" # de fi ne DEFAULT_SERVER_VERSION "PAT Server l.0beta" # de fi ne MAX_ACCOUNTS 1000 #endif #de fi ne CLIENT_DOM "evvi" #de fi ne BIG_BUF 512 #de fi de ; extem bool daemon; extem int verbose; extem char * con fi g_ fi le; extem char * queue_dir; extem char * server_versíon; extem char * program_name; extem int pro gram _pid; void read_con fi g_ fi le (); i / * APPENDIX 2: pat_smtp.cpp * f / / * SMTP listener * Can run either as a permanently running process. under inetd (on UNlX) orjust * from the command line.

Fk * This SMTP server expects to get either: * [[ Step (a) is NOT needed - messages will get from * the EVO server into the right place behind my back * a) "real" email from the Internet which must be sent * on to a PAT client (on EPOC) - in which case it should queue the email to be sent AND queue an SMS to be sent to the user which will contain the token used to authenticate them -X- -X- *ll * * b) "PAT" email from a PAT client (on EPOC) - this begins with * an initial "fake" SMTP incoming message ofjust: * HELO * MAIL FROMi * RCPT TO: * RCPT TO: * TURN * This is used to autlienticate the PAT client. * lfthis is successful then \\e send the pending emails and * a 'TURN so that the client can send in an) pending emails.Fk * This SMTP server expects to get either: * [[Step (a) is NOT needed - messages will get from * the EVO server into the right place behind my back * a) "real" email from the Internet which must be sent * on to a PAT client (on EPOC) - in which case it should queue the email to be sent AND queue an SMS to be sent to the user which will contain the token used to authenticate them -X- -X- * ll * * b) "PAT" email from a PAT client (on EPOC) - this begins with * an initial "fake" SMTP incoming message ofjust: * HELO * MAIL FROMi * RCPT TO: * RCPT TO: * TURN * This is used to autlienticate the PAT client. * lfthis is successful then \\ e send the pending emails and * a 'TURN so that the client can send in an) pending emails.

* Once the client lias sent an_\ einails it will end with a QlílT.* Once the client lias sent an_ \ einails it will end with a QlílT.

* $Log$ *ll .fiifndeflint static char *rcsid = "$Header$"; #endif iíinclude #include #ifdef UNIX # include # include # include # include # include # include # include # include # include # include /* For getopt() */ extem char *optarg; extern int optind; #endif #ifdef WlN32 L) l ...x 17:.. w (JN ffi l # include # include # include # include # include # include # include # include # include “win_support.h" #endif #include #include #include "pat_smtp.h" #include "netio.h" #include "keylib/keylib.h" #inc|ude "log.h" #include "base64.h" #include "cryptsup.h" #include "lumpIO.h" #include "hex.h" char *program_name = "pat_smtp"; int program_pid; bool smtp_listener = true; bool daemon = true; int verbose = 2; u_short smtp_port = 25; int max_listen_backlog = 5; int pulse_time = 5; /* break out of the accept loop every 5 seconds */ int keep_looping = l; int smtp_timeout = 120; /* how long to wait for input */ int skip_authentication = 1; #define MAX_DB_FIELDLEN 100 char user[ MAX_DB_FIELDLEN ], password[ MAX_DB_FIELDLEN ], evokey[ MAX_DB_FIELDLEN ], randnum[ MAX_DB_FIELDLEN ], dbtime[ MAX_DB_FIELDLEN ]; #define MAX_VERSION 100 char client_version[ MAX_VERSION ]; bool authenticated = false; void main( int argc, char **argv ); void parse_args( int argc, char **argv ); void become_daemon(); f.* $ Log $ * ll .fiifndeflint static char * rcsid = "$ Header $"; #endif iíinclude #include #ifdef UNIX # include # include # include # include # include # include # include # include # include # include / * For getopt () * / extem char * optarg; external int optind; #endif #ifdef WlN32 L) l ... x 17: .. w (JN f fi l # include # include # include # include # include # include # include # include # include # include “win_support.h" #endif #include #include #include "pat_smtp.h" #include "netio.h" #include "keylib / keylib.h" #inc | ude "log.h" #include "base64.h" #include "cryptsup.h" #include "lumpIO .h "#include" hex.h "char * program_name =" pat_smtp "; int program_pid; bool smtp_listener = true; bool daemon = true; int verbose = 2; u_short smtp_port = 25; int max_listen_backlog = 5; int pulse_time = 5 ; / * break out of the accept loop every 5 seconds * / int keep_looping = l; int smtp_timeout = 120; / * how long to wait for input * / int skip_authentication = 1; #de fi ne MAX_DB_FIELDLEN 100 char user [MAX_DB_FIELDLEN], password [MAX_DB_FIELDLEN], evokey [MAX_DB_FIELDLEN], randnum [MAX_DB_FIELDLEN], dbtime [MAX_DB_FIELDLEN]; #de fi ne MAX_VERSION 100 char client_version [MAX_VERSION]; void authent + arg; a rgc, char ** argv); void become_daemon (); f.

...S .ßh s\'3 für. vi) .fiifdef LJNIX void process__tinder_inetd(á); char *get__m_v_login(); #endif void process_smtp( Sock io ); bool process_state( int state. NET n, char *bufi char *addr ); void process_queue_for_user( char *user_ NET n ); bool process_queue_file( char *qfilenamta NET n )1 bool filena1ne_matches( char *filename, char *user ); void to_upper( char *str 1); int mail_rcpt_addr( char *bufi char *addr ): íidefine TMPñIN 0 iidefinc TMP_OUT l FILE *create_tinp( int where. char *tmp, char *user 0): int read_smtp_reply'( NET n, char *bufi int bufsiz ); void init_winsock(); void rename_in_tempfile( char *tmp_name ); /* Does the SMTP repl) mean OK *f íidefine REPLY_OK(r) ((200 <= (r)) && ((r) <= 299)) /* States that the server is in *f íidefine ST_INIT 0 iidefine ST_HELO 1 if-"define ST_MAIL_CLIENT_VERS 2 ššdefine ST_RCPT_SERVER_\FERS 3 :tdefine ST_RC PQTOKEN 4 fidefinc ST_MAIL_OUT 5 äidefine ST_RCPT_OUT 6 iídefine ST_DATA_OUT 7 #define ST_MAIL_IN 8 #define ST_RCPT_IN 9 âfdefine ST_DATA_IN 10 void main(' int argc. char ”argv ) t frifdef wiNsz extern int _fmode; _fmode = _O_BINARY: #endif */ if( verbose ){ netio_show( verbose ); log_to_tty = l; } program_pid = getpidO; parse_args( argc, argv ); #ifdef UNIX 514 769 15 if( ! smtp_listener ){ to = get_my_|ogin(); (void)queue_request(); exit( O ); } if( daemon ){ becomevdaemonO; exit( 0 ); } process_under_inetd(); #endif itifdef WIN32 become_daemon(): #endif } void parse_args( int argc, char **argv ) { int c; char **nargv; iätifdef UNIX while( (c = getopt( argc, argv, "avkfidiz" )) != -1 ){ #endif/* UNIX */ #ifdef WIN32 while( --argc > 0 ){ char *arg = *++argv; char *optarg; c = *arg; if( c = '-' c = arg[ l ]; else { /* Not an argument - make nargv point at all the rest */ nargv = argv; retum; } switch( c ){ case '1': optarg = *argv++; } #endif/* WIN32 */ switch( c ){ case 'v': verbose++; break; case 'a': skip__authentication = false; /* Must authenticate user */ break; case 'l': log_file = optarg; if( *logwñle Y= '/' ){ fprintfl stderr, "logfile name must begin with "in" ): exit( l ); l break; case 'f': config_file = optarg; if( *config_file != '/' ){ fprintf( stderr, "config filename must begin with An" 1 exit( l ): l break: íiifdef UNIX case 'd': /* Run as a stand-alone daemon *i smtp_listener = true; daemon = true; break; case 'i': f* Run under inetd *f smtp_listener = true: daemon = false; break: fiendif default: fprintfl stdern "Usagez %s v [-l logfile] l-fconligíile] l-d--ii-c Froinl' n". program_name ): fprintfl stderr. " -v verbose inodem" l: fprintf( stdern " -l log to this Filem" ); fprintfl stderr, " -f use this configuration fileän" l; #ifdef [JNIX fprintf( stderr. " -d run as stand-alone SNITP daemomn" ): fprintfl stderr. " -i run under inetd\n" ): ifendif fprintf( stderr, " -a authenticatedm" ): exit( 0 ); } l if( verbose ) log_to_tty = l; } void become_daemon() { Sock sock, msgsock; struct sockaddr_in server; fd_set ready; struct timeval to; int on; read_config_file(); 514 769 i? logit( INFOI, "smtp daemon starting" ); #ifdef WIN32 init_winsock(); #endif if( (sock = socket( AF_INET, SOCK_STREAM, 0 )) < 0 ) logit( FATAL, "Cannot create stream socket" ); server.sin_famíly = AF_INET; server.sin_addr.s_addr = hton|( INADDR_ANY ); server.sin_por1 = htons( smtp_port ); on = 1; if( setsockopt( sock, SOL_SOCKET, SO_REUSEADDR, (char *)(&on), sizeof( on ) ) < 0 ) logit( WARNING, "Cannot tum on SO_REUSEADDR" ); íf( bínd( sock, (struct sockaddr *)&server, sizeof( server ) ) < O ) logit( FATAL, "Cannot bind to SMTP port %d", smtp_por1 ); listen( sock, max_lísten_backlog ); while( keep_looping ){ logit( INFO, "loop waiting for SMTP connections" ); FD_ZERO( &ready ); FD_SET( sock, &ready ); to.tv_sec = pu|se_time; to.tv_usec = 0; if( select( sock + 1, &ready, 0, 0, &to ) < 0 ){ logit( WARNING, "select error" ); continue; } if( FD__ISSET( sock, &ready ) ){ if( (msgsock = accept( sock, (struct sockaddr *)0, (int *)0 )) < 0 ) logit( WARNING, "failed to accept" ); process_smtp( msgsock ); } } } void process_smtp( Sock io ) { NET n; int state = ST_INIT; char bufl BIG_BUF ]; char tmpl[ BIG_BUF ]; char tmp2[ BIG_BUF ]; char rcpt_to[ BIG_BUF ]; char mail_from[ BIG_BUF ]; char tmp_name[ BIG_BUF ]; FILE *tmp_f; struct sockaddr_in remoteßaddr: int addrlen = sizeof( remote__addr i. struct hostent *hp: char remote_host[ BIG_BUF l; logit( INFO. "process_smtp" 4): /* Figure out who is calling me */ if( getpeernanie( io, (struct sockaddr *)&remote_addr. &addrlen ) < O ){ logit( VVARNING. "Cannot find remote host details" ); strcpy( remote_host. "unknown" )L } else { hp = gethostbyaddr( (char *)&(remote_addr.sin_addr). sizeof( struct in_addr ). AFJNET ): if( hp ) (void)strncpy( remote_host_ hp->h_name, sizeof( remote_host ) l: else (void)strncpy( remote_host_ inet_ntoa( remote_addr.sin_addr ), sizeofl remote_host ) ); r login INFOI. "procesgsintp front %s". &remote_liost[ O l ): if( (n = nopen( io )) < 0 i) logit( FATAL. "cannot use connection for smtp traffic" ): /* Talk SMTP with the remote client *f nprintf( n, "220 ME PA'I“_Sl\1TP\r\n" ): while( true ){ bool rcpt_to_cmd, mail_from_cmd; rcpt_to__cmd = mail_from_cmd = false; if( timed_read_line( n. buf. sizeof( buf i). smtp_timeout ) < 0 ) break: tmpl[ 0 ] = tmp2[ O ] = '\0'; sscanf( buf, "%[^ \r\n]%*[ \t]°/0[^\n\r]", tmpl, tmp2 ); to_upper( tmpl ); logit( INFO, "cmdz %s", tmpl ); if( strcmp( tmpl. "HELP" == O ){ nprintf( n, "2l4-Commands supported:\r\n" ); nprintf( n, "213 HELO MAIL RCPT DATA TURN QUIT HELP\r\n" ); continue; } else if( strcmp( tmpl, "HELO" ) == 0 ){ state = ST_HELO; if( ! process_state( state, n, buf, "" ) ) break; continue; 514 7:3 I°ï \.. } else if( strcmp( tmpl. "MAIL" )== 0 ){ if( ! mail_rcpt_addr( buf, mail_from ) ){ nprintf( n, "500 Bad MAIL command\r\n" ); continue; } if( state == ST_HELO ) state = ST_MAIL_CLIENT_VERS; else if( state == ST_MAIL_IN ){ state = ST_MAIL_IN; /* A tad redundant! */ if( (tmp_f = create_tmp( TMP_IN, tmp_name, user )) == NULL ){ nprintf( n, "500 Cannot create tmp files\r\n" ); break; } } else { nprintf( n, "501 Unexpected MAIL command\r\n" ); continue; } if( ! process_state( state, n, buf, mail_from ) ) break; continue; } else if( strcmp( tmpl, "RCPT" )== 0 ){ if( l mail_rcpt_addr( buf, rcpt_to ) ){ nprintf( n, "500 Bad RCPT cominand\r\n" ); continue; } if( state == ST_MAIL__CLIENT_VERS ) state = ST_RCPT_SERVER_VERS; else if( state == ST_RCPT_SERVER_VERS ) state = ST_RCPT__TOKEN; else if( state = ST_MAIL_IN ){ state = ST_RCPT_IN; } else { nprintf( n, "50l Unexpected RCPT command\r\n" ); continue; } if( ! process_state( state, n, buf, rcpt_to ) ) break; continue; } else if( strcmp(tmp1, "DATA" ) == 0 ){ bool bad_end = false; char *buf_save; state = ST_MAIL_IN; /* Await more mail after this */ struct lumpIO *f = lumplO_init( key, iv, tmp_f ); nprintf( n, "354 Enter message, ending with \".\" on a line by itselflr\n" ); while( I ){ \_J xš) i - . 5 4 ß» 20 if( timed_read_line( n. butfl sizeofl buf). smtpjiineotit ') < O y; bad_end = true: break: l if( strcmp( buf, ".\r\n" ) == 0 ) break; /* lfthe line isjust skip the first */ if( strcmp( buf. "..\r\n" )== 0 ) buf_save = &buf[ l l; else buf_save = buf; luxnplO_fpt1ts( buf_save. f); f itI bad_end ) break: fclose( tmp_f); rename_in_ternpfile( tmp_name 7); nprintf( n. "250 OK\r\n" ); connnue; l l else ifl strcmp( tmpl. "TURN" l f i )-1 ifl state == ST_itp'P'li_l'OKEN ){ state = ST_lvlAlL_OUT: nprintfl n. "250 turning (sendmg mail to client)\r\n" l: /* Fall thru to the end ofthe main ifstateinent *i else l nprintf( n. "S01 Unexpected TURN comxna|1d=~r*n" ): continue: i l l else if( strcmp( tmpl, "QUIT" == 0 ){ nprintf( n. "221 closing\r\n" ); break; l else { nprintf( n. "S00 Command unrecognized\r\n" ); continue; l if( state == ST_MAIL_OUT ){ int reply; process_queue_for_user( user, n ); state = ST_MAIL_IN; nprintf( n, "TURN\r\n" ); if( (reply = read__smtp_reply( n, buf, sizeof( buf) )) < O ) break; if( REPLY_OK( reply ) ){ continue; } /* client has no email to send to me! */ nprintf( n, "QUl"f\r\n" ); 514 7-69 break; } nprintf( n, "200 So long and thanks for all the fish.\r\n" ); nc|ose( n ); logit( lNFO, "end of process_smtp" ); } bool process_state( int state, NET n, char *buf, char *addr ) l if( state == ST_HELO ){ nprintf( n, "250 \vatcha!\r\n" ); return true; } if( state == ST_MAIL_CLIENT_VERS ){ strcpy( client_version, addr ); authenticated = false; nprintf( n, "250 thanks for the client version:... S .ßh s \ '3 für. vi) .fiifdef LJNIX void process__tinder_inetd (á); char * get__m_v_login (); #endif void process_smtp (Sock io); bool process_state (int state .NET n, char * bu fi char * addr); void process_queue_for_user (char * user_ NET n); bool process_queue_ fi le (char * q fi lenamta NET n) 1 bool filena1ne_matches (char * filename, char * user); void to_upper (char * str 1); int mail_rcpt_addr (char * bu fi char * addr): íide fi ne TMPñIN 0 iide fi nc TMP_OUT l FILE * create_tinp (int where. char * tmp, char * user 0): int read_smtp_reply '(NET n, char * bu fi int bufsiz); void init_winsock (); void rename_in_temp fi le (char * tmp_name); / * Does the SMTP repl) mean OK * f íide fi ne REPLY_OK (r) ((200 <= (r)) && ((r) <= 299)) / * States that the server is in * f íide fi ne ST_INIT 0 iide fi ne ST_HELO 1 IF "the fi ne ST_MAIL_CLIENT_VERS 2 ššde fi ne ST_RCPT_SERVER_ \ FERS 3: tde fi ne ST_RC PQTOKEN 4 fide access nc ST_MAIL_OUT 5 aide fi ne ST_RCPT_OUT 6 iide fi ne ST_DATA_OUT 7 #Those fi ne ST_MAIL_IN 8 #Those fi ne ST_RCPT_IN 9 âfde fi ne ST_DATA_IN 10 void main ( 'int argc. char" argv) t frifdef wiNsz external int _fmode; _fmode = _O_BINARY: #endif * / if (verbose) {netio_show (verbose); log_to_tty = l;} program_pid = getpidO; parse_args (argc, argv); #ifdef UNIX 514 769 15 if (! smtp_listener) {to = get_my_ | ogin (); (void) queue_request (); exit (O);} if (daemon) {geanevdaemonO; exit (0);} process_under_inetd (); #endif itifdef WIN32 become_daemon (): #endif} void parse_args (int argc, char ** argv) {int c; char ** nargv; iätifdef UNIX while ((c = getopt (argc, argv, "avkfidiz"))! = -1) {# endif / * UNIX * / #ifdef WIN32 while (--argc> 0) {char * arg = * ++ argv; cha r * optarg; c = * arg; if (c = '-' c = arg [l]; else {/ * Not an argument - make nargv point at all the rest * / nargv = argv; retum;} switch (c) {case '1': optarg = * argv ++;} # endif / * WIN32 * / switch (c) {case 'v': verbose ++; break; case 'a': skip__authentication = false; / * Must authenticate user * / break; case 'l': log_ fi le = optarg; if (* logwñle Y = '/') {fprint fl stderr, "logfile name must begin with" in "): exit (l); l break; case 'f': con fi g_ fi le = optarg; if (* con fi g_ fi le! = '/') {fprintf (stderr, "config filename must begin with An" 1 exit (l): l break: íiifdef UNIX case 'd': / * Run as a stand-alone daemon * i smtp_listener = true; daemon = true; break; case 'i': f * Run under inetd * f smtp_listener = true: daemon = false; break: fi endif default: fprint fl stdern "Usagez% sv [-l log fi le] l-fconligíile] ld - ii-c Froinl 'n ". Program_name): fprint fl stderr." -V verbose inodem "l: fprintf (stdern" -l log to this Filem "); fprint fl stderr," -f use this configuration fi leän "l; #ifdef [JNIX fprintf (stderr. "-d run as stand-alone SNITP daemomn"): fprint fl stderr. "-i run under inetd \ n"): ifendif fprintf (stderr, "-a authenticatedm"): exit (0); } l if (verbose) log_to_tty = l; } void become_daemon () {Sock sock, msgsock; struct sockaddr_in server; fd_set ready; struct timeval to; int on; read_con fi g_ fi le (); 514 769 i? logit (INFOI, "smtp daemon starting"); #ifdef WIN32 init_winsock (); #endif if ((sock = socket (AF_INET, SOCK_STREAM, 0)) <0) logit (FATAL, "Cannot create stream socket"); server.sin_famíly = AF_INET; server.sin_addr.s_addr = hton | (INADDR_ANY); server.sin_por1 = htons (smtp_port); on = 1; if (setsockopt (sock, SOL_SOCKET, SO_REUSEADDR, (char *) (& on), sizeof (on)) <0) logit (WARNING, "Cannot tum on SO_REUSEADDR"); íf (binding (sock, (struct sockaddr *) & server, sizeof (server)) <O) logit (FATAL, "Cannot bind to SMTP port% d", smtp_por1); listen (sock, max_list_backlog); while (keep_looping) {logit (INFO, "loop waiting for SMTP connections"); FD_ZERO (&ready); FD_SET (sock, &ready); to.tv_sec = pu | se_time; to.tv_usec = 0; if (select (sock + 1, & ready, 0, 0, & to) <0) {logit (WARNING, "select error"); continue; } if (FD__ISSET (sock, & ready)) {if ((msgsock = accept (sock, (struct sockaddr *) 0, (int *) 0)) <0) logit (WARNING, "failed to accept"); process_smtp (msgsock); }}} void process_smtp (Sock io) {NET n; int state = ST_INIT; char bu fl BIG_BUF]; char tmpl [BIG_BUF]; char tmp2 [BIG_BUF]; char rcpt_to [BIG_BUF]; char mail_from [BIG_BUF]; char tmp_name [BIG_BUF]; FILE * tmp_f; struct sockaddr_in remoteßaddr: int addrlen = sizeof (remote__addr i. struct hostent * hp: char remote_host [BIG_BUF l; logit (INFO. "process_smtp" 4): / * Figure out who is calling me * / if (getpeernanie (io, ( struct sockaddr *) & remote_addr. & addrlen) <O) {logit (WARNING. "Cannot find remote host details"); strcpy (remote_host. "unknown") L} else {hp = gethostbyaddr ((char *) & (remote_addr.sin_addr . ; r login INFOI. "procesgsintp front% s". & remote_liost [O l): if ((n = nopen (io)) <0 i) logit (FATAL. "cannot use connection for smtp traffic"): / * Talk SMTP with the remote client * f nprintf (n, "220 ME PA'I“ _Sl \ 1TP \ r \ n "): while (true) {bool rcpt_to_cmd, mail_from_cmd; rcpt_to__cmd = mail_from_cmd = false; if (timed_read_line (n. buf. sizeof (buf i). smtp_timeout) <0) break: tmpl [0] = tmp2 [O] = '\ 0'; sscanf (buf, "% [^ \ r \ n]% * [\ t] ° / 0 [^ \ n \ r]", tmpl, tmp2); to_upper (tmpl); logit (INFO, "cmdz% s", tmpl); if (strcmp (tmpl. "HELP" == O) {nprintf (n, "2l4-Commands supported: \ r \ n"); nprintf (n, "213 HELO MAIL RCPT DATA TURN QUIT HELP \ r \ n") ; continue;} else if (strcmp (tmpl, "HELO") == 0) {state = ST_HELO; if (! process_state (state, n, buf, "")) break; continue; 514 7: 3 I ° ï \ ..} else if (strcmp (tmpl. "MAIL") == 0) {if (! mail_rcpt_addr (buf, mail_from)) {nprintf (n, "500 Bad MAIL command \ r \ n"); continue;} if (state == ST_HELO) state = ST_MAIL_CLIENT_VERS; else if (state == ST_MAIL_IN) {state = ST_MAIL_IN; / * A tad redundant! * / if ((tmp_f = create_tmp (TMP_IN, tmp_name, user)) == NULL) {nprintf (n, "500 Cannot create tmp les \ r \ n"); break;}} else {nprintf (n, "501 Unexpected MAIL command \ r \ n"); continue;} if (! process_state (state, n, buf, mail_from)) break; continue;} else if (strcmp (tmpl, "RCPT") == 0) {if (l mail_rcpt_addr (buf, rcpt_to)) {nprintf (n, "500 Bad RCPT cominand \ r \ n "); continue;} if (state == ST_MAIL__CLIENT_VERS) state = ST_RCPT_SERVER_VE RS; else if (state == ST_RCPT_SERVER_VERS) state = ST_RCPT__TOKEN; else if (state = ST_MAIL_IN) {state = ST_RCPT_IN; } else {nprintf (n, "50l Unexpected RCPT command \ r \ n"); continue; } if (! process_state (state, n, buf, rcpt_to)) break; continue; } else if (strcmp (tmp1, "DATA") == 0) {bool bad_end = false; char * buf_save; state = ST_MAIL_IN; / * Await more mail after this * / struct lumpIO * f = lumplO_init (key, iv, tmp_f); nprintf (n, "354 Enter message, ending with \". \ "on a line by itsel fl r \ n"); while (I) {\ _J xš) i -. 5 4 ß »20 if (timed_read_line (n. But fl sizeo fl buf). Smtpjiineotit ') <O y; bad_end = true: break: l if (strcmp (buf, ". \ r \ n") == 0) break; / * lfthe line isjust skip the fi rst * / if (strcmp (buf. ".. \ r \ n") == 0) buf_save = & buf [l l; else buf_save = buf; luxnplO_fpt1ts (buf_save. f); f itI bad_end) break: fclose (tmp_f); rename_in_ternp fi le (tmp_name 7); nprintf (n. "250 OK \ r \ n"); connnue; ll else ifl strcmp (tmpl. "TURN" lfi) -1 ifl state == ST_itp'P'li_l'OKEN) {state = ST_lvlAlL_OUT: nprintfl n. "250 turning (sendmg mail to client) \ r \ n" l: / * Fall thru to the end ofthe main ifstateinent * i else l nprintf (n. "S01 Unexpected TURN comxna | 1d = ~ r * n"): continue: ill else if (strcmp (tmpl, "QUIT" == 0) {nprintf (n. "221 closing \ r \ n"); break; l else {nprintf (n. "S00 Command unrecognized \ r \ n"); continue; l if (state == ST_MAIL_OUT) {int reply; process_queue_for_user (user, n); state = ST_MAIL_IN; nprintf (n, "TURN \ r \ n"); if ((reply = read__smtp_reply (n, buf, sizeof (buf))) <O) break; if (REPLY_OK (reply )) {continue;} / * client has no email to send to me! * / nprintf (n, "QUl" f \ r \ n "); 514 7-69 break;} nprintf (n," 200 So long and thanks for all the fi sh. \ r \ n "); nc | ose (n); logit (lNFO," end of process_smtp ");} bool process_state (int state, NET n, char * buf, char * addr) l if (state == ST_HELO) {nprintf (n, "250 \ vatcha! \ r \ n"); return true;} if (stat e == ST_MAIL_CLIENT_VERS) {strcpy (client_version, addr); authenticated = false; nprintf (n, "250 thanks for the client version:

Claims (20)

“ïO PATENTKRAV“ÏO PATENTKRAV 1. Sätt att autentisera en mobilanordning för att sända data från ett datorsystem, innefattande åtminstone en dator, till mobilanordningen, kännetecknat av stegen att: (I) - generera ett kodord i datorsystemet, och sända kodordet till en förutbestämd adress för mobilanordningen, (II) - mottaga kodordet i mobilanordningen, (III) - generera, på ett förutbestämt sätt, ett kodmeddelande baserat på det mottagna kodordet, (IV) - sända kodmeddelandet från mobilanordningen till datorsystemet, (V) - använda kodordet för att kontrollera kodmeddelandet, (VI) - sända data från datorsystemet till mobilanordningen om kodmeddelandet är verifierat av datorsystemet.A method of authenticating a mobile device for sending data from a computer system, comprising at least one computer, to the mobile device, characterized by the steps of: (I) - generating a codeword in the computer system, and sending the codeword to a predetermined address of the mobile device, (II ) - receive the codeword in the mobile device, (III) - generate, in a predetermined manner, a code message based on the received codeword, (IV) - send the code message from the mobile device to the computer system, (V) - use the codeword to check the code message, (VI) ) - send data from the computer system to the mobile device if the code message is verified by the computer system. 2. Sätt enligt krav l, kännetecknat av att steg (III) innefattar steget att kryptera det mottagna kodordet med användning av en unik krypteringsnyckel. 1Method according to claim 1, characterized in that step (III) comprises the step of encrypting the received codeword using a unique encryption key. 1 3. Sätt enligt något av krav I-2, kännetecknat av steget att initiera autentiseringen från mobilanordningen genom sändning av en autentiseringsbegäran till datorsystemet.Method according to any one of claims I-2, characterized by the step of initiating the authentication from the mobile device by sending an authentication request to the computer system. 4. , Sätt enligt något av krav 1-2, kännetecknat av steget att initiera autentiseringen från datorsystemet i ändamål att vidarebefordra data, såsom e-post, till mobilanordningen.A method according to any one of claims 1-2, characterized by the step of initiating the authentication from the computer system for the purpose of forwarding data, such as e-mail, to the mobile device. 5. Sätt enligt krav 4, kännetecknat av stegen (I)-(VI) utförs automatiskt.Method according to claim 4, characterized in that steps (I) - (VI) are performed automatically. 6. Sätt enligt något av krav 1-5, kännetecknat av att i steg (IV) kodmeddelandet sänds tillsammans med en sändaradress och i samband med steg (V) och steg (VI) extraherar denna sändaradress och sänder, i steg (VI), data till denna adress. 514 769 q:Method according to any one of claims 1-5, characterized in that in step (IV) the code message is transmitted together with a transmitter address and in connection with step (V) and step (VI) this transmitter address is extracted and transmits, in step (VI), data to this address. 514 769 q: 7. Sätt enligt något av krav 1-6, kännetecknat av att ett HTTP- (Hypertext Transfer Protocol) eller SMTP- (Simple Mail Transport Protocol) protokoll används i kodmeddelandeöverföringen enligt steg (IV).Method according to one of Claims 1 to 6, characterized in that an HTTP (Hypertext Transfer Protocol) or SMTP (Simple Mail Transport Protocol) protocol is used in the code message transmission according to step (IV). 8. Sätt enligt något av krav 1-7, kännetecknat av att ett slumpmässigt kodord genereras i steg (I).Method according to one of Claims 1 to 7, characterized in that a random codeword is generated in step (I). 9. System, innefattande en mobilkommunikationsanordning och ett datorsystem innefattande åtminstone en dator, för autentisering av mobilanordningen för datasändning frán datorsystemet till mobilanordningen, kännetecknat av att: datorsystemet innefattar - medel för generering av ett kodord och för sändning av kodordet till en förutbestämd adress hos anordningen, - medel som använder kodordet för att kontrollera ett kodmeddelande, samt - medel anordnade för att sända data från datorsystemet till anordningen om kodmeddelandet verifieras av datorsystemet, vilken mobilanordning innefattar - medel för mottagning av kodordet, - medel för generering, på ett förbestämt sätt, av ett kodmeddelande baserat på det mottagna kodordet, samt - medel för sändning av kodmeddelandet till datorsystemet.System, comprising a mobile communication device and a computer system comprising at least one computer, for authenticating the mobile device for data transmission from the computer system to the mobile device, characterized in that: the computer system comprises - means for generating a codeword and for transmitting the codeword to a predetermined address of the device , - means using the codeword to check a code message, and - means arranged to send data from the computer system to the device if the code message is verified by the computer system, which mobile device comprises - means for receiving the code word, - means for generating, in a predetermined manner, of a code message based on the received code word, and - means for sending the code message to the computer system. 10. System enligt krav 9, kännetecknat av att nämnda medel för generering av kodmeddelandet innefattar medel för kryptering av kodordet med användning av en unik krypteringsnyckel.System according to claim 9, characterized in that said means for generating the code message comprises means for encrypting the codeword using a unique encryption key. 11. System enligt något av krav 9-10, kännetecknat av att anordningen innefattar medel för initiering av autentiseringsproceduren.System according to any one of claims 9-10, characterized in that the device comprises means for initiating the authentication procedure. 12. System enligt något av krav 9-11, kännetecknat av att datorsystemet innefattar medel för automatisk initiering av autentiseringsproceduren om datorsystemet mottager data, som skall sändas till anordningen.System according to any one of claims 9-11, characterized in that the computer system comprises means for automatically initiating the authentication procedure if the computer system receives data to be sent to the device. 13. System enligt något av krav 9-12, kännetecknat av att medlen för sändning av kodmeddelandet till datorsystemet använder HTTP- (Hypertext Transfer Protocol) eller SMTP- (Simple Mail Transport Procotol) protokoll,System according to any one of claims 9-12, characterized in that the means for sending the code message to the computer system use HTTP (Hypertext Transfer Protocol) or SMTP (Simple Mail Transport Procotol) protocol, 14. System enligt något av krav 9-13, kännetecknat av att datorsystemet innefattar medel för slumpvis generering av kodordet.System according to one of Claims 9 to 13, characterized in that the computer system comprises means for randomly generating the codeword. 15. I ett system, för autentisering av en mobilanordning för datasändning från ett datorsystem, innefattande - ett datorsystem med: medel för generering av ett kodord och för sändning av kodordet till en förutbestämd adress hos anordningen; medel, utnyttjande kodordet för att kontrollera ett kodmeddelande; och medel anordnade att sända data till anordningen om kodmeddelandet verifieras av datorsystemet, en mobilkommunikationsanordning kännetecknad av ~ medel för mottagning av kodordet, - medel för generering på ett förutbestämt sätt av ett kodmeddelande baserat på det mottagna kodordet, samt - medel för sändning av kodmeddelandet till datorsystemet.In a system, for authenticating a mobile device for data transmission from a computer system, comprising - a computer system with: means for generating a codeword and for transmitting the codeword to a predetermined address of the device; means, using the codeword to check a code message; and means arranged to send data to the device if the code message is verified by the computer system, a mobile communication device characterized by - means for receiving the code word, - means for generating in a predetermined manner a code message based on the received code word, and - means for sending the code message to computer system. 16. T ett system, för autentisering av en mobilanordning för datasändning från ett datorsystem, innefattande en mobilkommunikationsanordning uppvisande: medel för mottagning av ett kodord; medel för generering på ett förutbestämt sätt av ett kodmeddelande baserat pä det mottagna kodordet; samt medel för sändning av kodmeddelandet till datorsystemet, ett datorsystem innefattande åtminstone en dator, kännetecknat av - medel för generering av kodordet och för sändning av kodordet till en förutbestämd adress hos anordningen, ~ medel som använder kodordet för att kontrollera kodmeddelandet, samt - medel anordnade att sända data från datorsystemet till anordningen om kodmeddelandet verifieras av datorsystemet.A system for authenticating a mobile device for data transmission from a computer system, comprising a mobile communication device comprising: means for receiving a codeword; means for generating in a predetermined manner a code message based on the received code word; and means for sending the code message to the computer system, a computer system comprising at least one computer, characterized by - means for generating the code word and for sending the code word to a predetermined address of the device, - means using the code word to check the code message, and - means arranged to send data from the computer system to the device if the code message is verified by the computer system. 17. Datorprogramprodukt för autentisering av en mobilanordning, innefattande datorläsbar kod för att bringa en mobilkommunikationsanordning att exekvera följande steg: 514 769 v: (I) - mottaga ett kodord och åtminstone temporärt lagra kodordet, (II) - generera på ett förutbestämt sätt ett kodmeddelande baserat på kodordet, (III) - sända kodmeddelandet från mobilanordningen till ett datorsystem för att autentiseras för datasändning från datorsystemet.A computer program product for authenticating a mobile device, comprising computer readable code for causing a mobile communication device to execute the following steps: 514 769 v: (I) - receive a codeword and at least temporarily store the codeword, (II) - generate a code message in a predetermined manner based on the codeword, (III) - send the code message from the mobile device to a computer system to be authenticated for data transmission from the computer system. 18. Datorprogramprodukt för autentisering av en mobilanordning, innefattande datorläsbar kod för att bringa en dator att exekvera följande steg: I (I) generera ett kodord, (II) initiera sändning av kodordet till en förutbestämd adress hos mobilanordningen, (III) mottaga ett kodmeddelande, (IV) använda kodordet att kontrollera kodmeddelandet, (V) initiera en datasändning till mobilanordningen om kodmeddelandet verifieras.A computer program product for authenticating a mobile device, comprising computer readable code for causing a computer to execute the following steps: I (I) generate a codeword, (II) initiate transmission of the codeword to a predetermined address of the mobile device, (III) receive a code message , (IV) use the codeword to check the code message, (V) initiate a data transmission to the mobile device if the code message is verified. 19. Datorprogramprodukt enligt krav 18, kännetecknad av att den innefattar datorläsbar kod för att bringa datorn att extrahera kodmeddelandets sändaradress, som mottages i steg (III), och att initiera en datasändning, i steg (V), till denna adress.Computer program product according to claim 18, characterized in that it comprises computer-readable code for causing the computer to extract the transmitter address of the code message received in step (III) and to initiate a data transmission, in step (V), to this address. 20. Datorprogramprodukt enligt något av krav 18-19, kännetecknad av att den innefattar datorläsbar kod för att bringa en dator att generera ett slumpmässigt kodord i steg (I).Computer program product according to any one of claims 18-19, characterized in that it comprises computer-readable code for causing a computer to generate a random codeword in step (I).
SE9902746A 1999-07-16 1999-07-16 Methods and systems for authenticating a mobile communication device SE514769C2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
SE9902746A SE514769C2 (en) 1999-07-16 1999-07-16 Methods and systems for authenticating a mobile communication device
CNB008130310A CN1153501C (en) 1999-07-16 2000-07-04 A method and a system for authenticating a mobile communication device
PCT/SE2000/001418 WO2001006805A1 (en) 1999-07-16 2000-07-04 A method and a system for authenticating a mobile communication device
AU61922/00A AU6192200A (en) 1999-07-16 2000-07-04 A method and a system for authenticating a mobile communication device
JP2001510503A JP2003504773A (en) 1999-07-16 2000-07-04 Method and system for authenticating a mobile communication device
EP00948441A EP1195071A1 (en) 1999-07-16 2000-07-04 A method and a system for authenticating a mobile communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9902746A SE514769C2 (en) 1999-07-16 1999-07-16 Methods and systems for authenticating a mobile communication device

Publications (3)

Publication Number Publication Date
SE9902746D0 SE9902746D0 (en) 1999-07-16
SE9902746L SE9902746L (en) 2001-01-17
SE514769C2 true SE514769C2 (en) 2001-04-23

Family

ID=20416536

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9902746A SE514769C2 (en) 1999-07-16 1999-07-16 Methods and systems for authenticating a mobile communication device

Country Status (6)

Country Link
EP (1) EP1195071A1 (en)
JP (1) JP2003504773A (en)
CN (1) CN1153501C (en)
AU (1) AU6192200A (en)
SE (1) SE514769C2 (en)
WO (1) WO2001006805A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2842055B1 (en) * 2002-07-05 2004-12-24 Nortel Networks Ltd METHOD FOR CONTROLLING ACCESS TO A CELLULAR RADIO COMMUNICATION SYSTEM THROUGH A WIRELESS LOCAL AREA NETWORK, AND CONTROL MEMBER FOR IMPLEMENTING THE METHOD
US20070093259A1 (en) * 2005-10-26 2007-04-26 Hyatt Edward C Methods, systems, and computer program products for secured access to list server information via SMS messaging
US8943560B2 (en) 2008-05-28 2015-01-27 Microsoft Corporation Techniques to provision and manage a digital telephone to authenticate with a network
CN108920629B (en) * 2018-06-29 2021-10-26 郑州云海信息技术有限公司 ACL permission setting method, device, equipment and medium of file system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE503752C2 (en) * 1995-08-30 1996-08-26 Sendit Ab Systems and host device for transmission of electronic mail over a mobile telephone network
US5699428A (en) * 1996-01-16 1997-12-16 Symantec Corporation System for automatic decryption of file data on a per-use basis and automatic re-encryption within context of multi-threaded operating system under which applications run in real-time
US5736932A (en) * 1996-07-03 1998-04-07 At&T Corp Security for controlled access systems
JPH10215488A (en) * 1997-01-31 1998-08-11 Nec Corp Host access method in mobile radio system
DE69841918D1 (en) * 1997-07-30 2010-11-11 Visto Corp SYSTEM AND METHOD FOR GLOBAL AND SECURE ACCESS TO UNITED INFORMATION IN A COMPUTER NETWORK

Also Published As

Publication number Publication date
SE9902746D0 (en) 1999-07-16
WO2001006805A1 (en) 2001-01-25
AU6192200A (en) 2001-02-05
SE9902746L (en) 2001-01-17
EP1195071A1 (en) 2002-04-10
CN1153501C (en) 2004-06-09
CN1375173A (en) 2002-10-16
JP2003504773A (en) 2003-02-04

Similar Documents

Publication Publication Date Title
Andy et al. Attack scenarios and security analysis of MQTT communication protocol in IoT system
CN101390064B (en) Preventing network reset denial of service attacks using embedded authentication information
CN1954545A (en) Using TCP to authenticate IP source addresses
CN111183619B (en) Data sending method, device connecting method, device and system, and device connecting method, device and system
US20070050630A1 (en) Authentication method and system for asynchronous eventing over the internet
CN101789947A (en) Method and firewall for preventing HTTP POST flooding attacks
US7747694B2 (en) Low latency and assured delivery using HTTP
WO2007030238A2 (en) Distributed authentication functionality
EP3375133B1 (en) Method for securing and authenticating a telecommunication
JP2012034396A (en) Method and device for reducing e-mail spam and virus distribution in communication network by authenticating e-mail message source
CN100541437C (en) Prevent network reset denial of service attacks
CN112751870A (en) NFS (network file system) safety transmission device and method based on proxy forwarding
US8453229B2 (en) Push type communications system
SE514769C2 (en) Methods and systems for authenticating a mobile communication device
EP1370046A1 (en) Method based on border gateway protocol message for controlling messages security protection
CN101167331B (en) Method, system and device for transferring network event log protocol message
WO2023151445A1 (en) Information processing method, gateway and communication system
US9641533B2 (en) System and method for trusted pair security
CN105306458B (en) Authentication method and device based on network access security equipment
Abdulmohsin Design and implementation a server receiving data in both forms TCP and UDP through the same port and its impact on the network performance
Blundo et al. Certified email: Design and implementation of a new optimistic protocol
Avenido et al. Interoperable system with authentication and authorization for IoT
Thomas On the problem of signature authentication for network mail
Leshchenko et al. Model of a Subsystem for Securing E-Mail Against Loss using Mail Transport Agents based on Containerized Environments
Sureswaran et al. Active E-mail system protocols monitoring algorithm

Legal Events

Date Code Title Description
NUG Patent has lapsed