Internet DRAFT - draft-crouzet-amtp

draft-crouzet-amtp





   Internet Draft                                            B. Crouzet 
   Document: draft-crouzet-amtp-01.txt          Institute of Technology 
                                                               Tallaght 
   Expires: April 2004                                     October 2003 
    
    
                   Authenticated Mail Transfer Protocol 
    
    
Status of this Memo 
    
   This document is an Internet-Draft and is in full conformance with 
   all provisions of Section 10 of RFC2026.  
    
   Internet-Drafts are working documents of the Internet Engineering 
   Task Force (IETF), its areas, and its working groups.  Note that 
   other groups may also distribute working documents as Internet-
   Drafts. 
    
   Internet-Drafts are draft documents valid for a maximum of six months 
   and may be updated, replaced, or obsoleted by other documents at any 
   time.  It is inappropriate to use Internet-Drafts as reference 
   material or to cite them other than as "work in progress." 
    
   The list of current Internet-Drafts can be accessed at 
        http://www.ietf.org/ietf/1id-abstracts.txt 
   The list of Internet-Draft Shadow Directories can be accessed at 
        http://www.ietf.org/shadow.html. 
    
    
Abstract 
    
   Recent years have seen electronic mail becomes the first mode of 
   communication. Electronic mail allows users to exchange information 
   using different formats such as files, pictures, videos and text 
   messages. Electronic mail is quicker and faster than other modes of 
   communication but it generates more problems, such as email bombing, 
   email virus, email spoofing, anonymous email, relaying email and in 
   particular spam email. 
    
   This Internet Draft aims at solving or reducing the above problems 
   by proposing a new transfer protocol, Authenticated Mail Transfer 
   Protocol. Authenticated Mail Transfer Protocol is a second modified 
   version of the current transfer protocol, Simple Mail Transfer 
   Protocol. It identifies a sender, differentiates a server from a 
   user, changes the electronic mail structure and improves the 
   electronic mail transaction. 
 
    

 
 
Crouzet                  Expires - April 2004                 [Page 1] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
    
    
   The purpose of this document is to describe Authenticated Mail 
   Transfer Protocol to the Internet community. The implementation of 
   the new transfer protocol allows us to carry out a series of tests 
   that measures and proves the performance and efficiency of the new 
   transfer protocol. 
    
    
Conventions used in this document 
    
   SA => Sender Server: SA represents an email server where the sender 
      is known. 
    
   SB => Recipient Server: SB represents an email server where the 
   recipient is located. 
    
   In examples, "C:" and "S:" indicate lines sent by the client and the 
   server respectively. 
    
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this 
   document are to be interpreted as described in RFC-2119. 
    
Table of Contents 
    
   1. Introduction...................................................4 
   2. Presentation of Authenticated Mail Transfer Protocol (AMTP)....5 
      2.1 General View of Authenticated Mail Transfer Protocol.......5 
      2.2 Explanation of Authenticated Mail Transfer Protocol........5 
      2.3 Goals......................................................7 
   3. Authenticated Mail Transfer Protocol States....................7 
      3.1 Identified State...........................................7 
         3.1.1 Presentation of the Identified State.................7 
         3.1.2 Command in the Identified State......................7 
      3.2 Email State................................................8 
         3.2.1 Presentation of the Email State......................8 
         3.2.2 Command in the Email State...........................8 
      3.3 Logout State...............................................8 
         3.3.1 Presentation of the Logout State.....................8 
         3.3.2 Command in the Logout State..........................9 
      3.4 Information State..........................................9 
         3.4.1 Presentation of the Information State................9 
         3.4.2 Command in the Information State.....................9 
      3.5 Retrieved State...........................................10 
         3.5.1 Presentation of the Retrieved State.................10 
         3.5.2 Command in the Retrieved State......................10 
   4. Structure of an email in the Authenticated Mail Transfer Protocol 
   header...........................................................10 
 
 
Crouzet                  Expires - April 2004                 [Page 2] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
      4.1 Relay Tag.................................................11 
      4.2 Head Tag..................................................11 
      4.3 Body Tag..................................................12 
      4.4 Example of an email structure.............................12 
   5. Authenticated Mail Transfer Protocol Commands.................13 
      5.1 Optional Commands.........................................13 
      5.2 Obsolete Commands.........................................14 
      5.3 Order of commands.........................................15 
      5.4 Authenticated Mail Transfer Protocol Procedures...........15 
         5.4.1 Simple Procedure....................................15 
         5.4.2 Procedure using optional commands...................16 
         5.4.3 Procedure with RSET command.........................18 
   6. Relay with Authenticated Mail Transfer Protocol...............19 
   7. Authenticated Mail Transfer Protocol Reply codes..............21 
      7.1 New Reply Codes...........................................21 
      7.2 Reply Codes from Request For Comment 2821.................22 
   8. Test Carried Out Against Email Problems.......................23 
      8.1 Test Authenticated Mail Transfer Protocol Against Anonymous 
      Email.........................................................23 
      8.2 Test Simple Mail Transfer Protocol Against Anonymous Email23 
      8.3 Test Authenticated Mail Transfer Protocol Against Spoofed 
      Email.........................................................24 
      8.4 Test Simple Mail Transfer Protocol Against Spoofed Email..24 
      8.5 Test Authenticated Mail Transfer Protocol Against Relaying 
      Email.........................................................24 
      8.6 Test Simple Mail Transfer Protocol Against Relaying Email.25 
   9. Test Carried Out in a Network.................................25 
      9.1 Presentation..............................................25 
      9.2 Test the Transfer Protocol with Routers as a gateway......27 
      9.3 Test the Transfer Protocols with a Firewall as a gateway..27 
      9.4 Test the Transfer Protocols with a Proxy Server as a gateway27 
      9.5 Test the Transfer Protocols with a Firewall associated with a 
      Proxy Server as a gateway.....................................28 
      9.6 Test the Transfer Protocol in a World Wide Web Simulation.28 
   10. Comparison of the Speed of the Two Transfer Protocols........28 
   11. Attack against an Authenticated Mail Transfer Protocol server30 
      11.1 Using the SELO command...................................31 
      11.2 Using the SEMA command...................................32 
      11.3 Overview of attacks against an Authenticated Mail Transfer 
      Protocol server...............................................32 
   12. Conclusion...................................................33 
   Security Considerations..........................................34 
   References.......................................................34 
   Appendix.........................................................35 
      Appendix A: Acronyms..........................................35 
      Appendix B: Terminology.......................................36 
   Author's Addresses...............................................36 
   Copyright Notice.................................................36 
    
 
 
Crouzet                  Expires - April 2004                 [Page 3] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
    
1. Introduction 
   The last solution is to add an identification state to the Simple 
   Mail Transfer Protocol, creating a new protocol to be called 
   Authenticated Mail Transfer Protocol (AMTP). It would use the 
   Transmission Control Protocol/Internet Protocol (TCP/IP) model to 
   communicate across the network. AMTP is a five state process with 
   three Client-to-Server communication states (Identified, Email and 
   Logout states) and two Server-to-Server communication states 
   (Information and Retrieved states). 
    
   The first Client-to-Server state is the Identified state where the 
   protocol asks for a username and a password to identify the user. 
   The user has to log in successfully before he/she can use the 
   server. The second state is the Email state where the user can 
   employ any protocol commands in order to send an email. Once the 
   user has logged onto the server, he/she does not have to enter 
   his/her email address any more. The server will automatically add 
   his/her email address to the email. The last state is the Logout 
   state where the user is logged onto the system therefore he/she has 
   to be logged out. 
    
   There is also a new transaction between two email servers. The first 
   Server-to-Server state is the Information state, whereby the sender 
   server informs the recipient server that an email is waiting to be 
   retrieved. The second state is the Retrieved state, whereby the 
   recipient server retrieves the email from the sender server. 
 
   Authenticated Mail Transfer Protocol will structure the email in 
   order to provide an easier way to find information inside the email, 
   to limit the access of the email by a user and finally, to validate 
   the email itself. The structure of the email will allow a filter to 
   be more efficient in order to look the most important fields. 
   Authenticated Mail Transfer Protocol adds three XML tags that 
   separate the information inside the email. 
    
    
   A relaying server allows a sender server to route an email without 
   knowing the address of the recipient server. A relaying server 
   transmits the email to the recipient server or another relaying 
   server like a normal Server-to-Server communication. In order to 
   protect a network, it is possible to use a router, a firewall or a 
   proxy server associated with a firewall. Under these protections, 
   AMTP is operational. AMTP does not work behind a proxy server. 
    
   Authenticated Mail Transfer Protocol both adds and removes commands 
   from SMTP. The Authenticated Mail Transfer Protocol procedures are 


 
 
Crouzet                  Expires - April 2004                 [Page 4] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   demonstrated. It also adds new reply codes and uses identical reply 
   codes from SMTP. 
    
   This document explains the result of the series of tests that 
   Authenticated Mail Transfer Protocol passed. Authenticated Mail 
   Transfer Protocol is compared to Simple Mail Transfer Protocol in 
   order to prove that the new protocol solves three email problems: 
   anonymous, spoofed and relaying email. Four network simulations, a 
   speed evaluation of these two protocols and different attacks 
   against the new protocol have been carried out and tested. This 
   demonstrates the efficiency and the performance of the new transfer 
   protocol. 
    
   In the Appendix chapter, acronyms and terminology are defined in 
   Appendix A and B. 
    
2. Presentation of Authenticated Mail Transfer Protocol (AMTP) 
   Authenticated Mail Transfer Protocol (AMTP) is located at the 
   Application layer of the Transmission Control Protocol/Internet 
   Protocol (TCP/IP). The AMTP header handles and presents the data to 
   the user. It analyses commands and replies to the user. 
    
2.1 General View of Authenticated Mail Transfer Protocol 
   The following figure gives a general view of the Authenticated Mail 
   Transfer Protocol states. In the Identified state, the user has to 
   be identified before he/she sends the email. The user writes his/her 
   email in the Email state. At the end of the email, the server 
   delivers the email to the recipient. If the recipient is internal, 
   the email is immediately delivered to the recipient mailbox. If the 
   recipient is external, the sender server uses the Information state. 
   The recipient server executes the Retrieved state in order to 
   retrieve the email from the sender server. These two states are 
   reserved for an email server and are the result of the solution to 
   identify a sender and validate a sender email address. 
 
   --------------------------------------------------------------------- 
   User             -> Identified State  -> Email State -> Logout State 
    
   Sender server    -> Information State -> Logout State 
    
   Recipient server -> Retrieved State   -> Logout State 
   --------------------------------------------------------------------- 
   Figure 2: General View of Authenticated Mail Transfer Protocol 
   --------------------------------------------------------------------- 
    
2.2 Explanation of Authenticated Mail Transfer Protocol 
   The host server starts the Authenticated Mail Transfer Protocol 
   service by listening to port 26. The email client establishes a TCP 
   connection with the AMTP server. If the AMTP server accepts the 
 
 
Crouzet                  Expires - April 2004                 [Page 5] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   connection, it sends back a reply code 220. Now the AMTP server and 
   the email client can exchange commands and replies. The AMTP server 
   or the email client with the QUIT command can close or abort the 
   transaction at any time. 
    
   The Authenticated Mail Transfer Protocol session progresses through 
   a number of steps during its lifetime. Once the TCP connection has 
   been opened and the AMTP server has accepted the connection, the 
   session enters into the Identified state. In this state, the user 
   must identify himself/herself to the AMTP server. Once the user has 
   successfully done this, the session enters into the Email state. In 
   this state, the user will be allowed to request an action from the 
   AMTP server. He/she can send an email to a random user. When the 
   user has finished his/her session, he/she has to enter the QUIT 
   command and the session enters into the Logout state, i.e. the AMTP 
   server closes resources used such as the network connection (TCP), 
   the database connection and the files. 
    
   Authenticated Mail Transfer Protocol contains two server states: 
   Information and Retrieved states. These states are reserved for the 
   AMTP server only and occur in cases where the AMTP server has to 
   send an external email. A user will be able to use the command but 
   the transaction will be aborted after the AMTP server recognises the 
   parameters are incorrect. Only one AMTP server, the sender server, 
   recognises the user. The recipient server accepts information coming 
   from the sender server or a user. The only thing email servers have 
   in common is port 25. It is the only piece of information that an 
   email server can recognise from another email server. Port 25 makes 
   sure that the transaction takes place between two email servers and 
   not between a user and a server. 
    
   The first state is the Information state. In this state, the sender 
   server informs the recipient server that an email is waiting to be 
   delivered. The sender server gives the recipient server a number 
   that refers to the email, the recipient email address and its IP 
   address or domain name. The IP address or domain name is required to 
   allow the recipient server to connect on to the sender server. 
   The second state is the Retrieved state. In this state, the 
   recipient server connects to the sender server to retrieve an email. 
   It gives the number and the recipient email address that has been 
   transmitted in the Information state. When these states are 
   completed, the email servers close all resources used. 
 
   These two states are automatic and fast because it is simply two 
   computers that exchange data. Time out can be created when the 
   server is waiting for a command. The two functions of these email 
   servers are to send and read information and as such, they do not 
   perform tasks that require time, resources or memory. 

 
 
Crouzet                  Expires - April 2004                 [Page 6] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
    
2.3 Goals 
   This solution solves the problem of anonymous and spoofed email, and 
   reduces the effect of email virus, email bombing and spam email. 
   Therefore, everyone knows where the email comes from. The sender 
   exists and the sender server recognises him/her. It does not stop 
   spam email but a user has the possibility to avoid it and locate the 
   sender. The solution still has to be tested to see if a hacker can 
   crack it and if this solution is feasible on the network. 
    
3. Authenticated Mail Transfer Protocol States 
3.1 Identified State 
3.1.1   Presentation of the Identified State 
   This state is important because it protects a user from spoofed and 
   anonymous email. Two new commands have been added to implement this 
   state: USER and <USERNAME> <PASSWORD>. When the AMTP server accepts 
   the connection, the user enters into the Identified state. 
 
   In this state, the user types the USER command that means he/she 
   wants to be identified by the AMTP server. The AMTP server answers 
   with the reply code 250 when it is ready to identify the user. The 
   user types his/her username and password as a simple command. Any 
   user can be identified with these parameters. There are three types 
   of answers for the server. In the case of the username and password 
   corresponding to one user, the server replies with the code 250 and 
   sends him/her helpful server information. The AMTP server now 
   identifies the user who can now use any AMTP commands. In the case 
   of the username and password being incorrect, the server replies 
   with the code 401. After the third try from the user, the server 
   closes the connection and replies with the code 555. 
    
3.1.2   Command in the Identified State 
   USER 
   The user enters the USER command to inform the AMTP server that 
   he/she wants to be identified by the server. The USER command does 
   not need any parameters. 
    
   <USERNAME> <PASSWORD> 
   The user needs to enter his/her username and password, which contain 
   no space in them. In order to protect the user, the username has to 
   be different from his/her email address. In addition to this, the 
   username and password are entered after the USER command in order to 
   protect this data. It will be difficult for a hacker to find these 
   parameters. If the hacker is watching the network, he/she has to 
   catch the USER command and the packet with the username and password 
   data, which contains no sign of them. 
    


 
 
Crouzet                  Expires - April 2004                 [Page 7] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
3.2 Email State 
3.2.1   Presentation of the Email State 
   In this state, the user can send an email. Once the user is logged 
   into the AMTP server, he/she does not have to enter his/her email 
   address any more. The AMTP server adds his/her email address into 
   the email header. The MAIL FROM command has been removed from the 
   transfer protocol. The RCPT TO and DATA command from SMTP are still 
   used in this state. Two new commands, MORE TO <Recipient email 
   address> and HEAD, have been added in order to improve the service 
   of the transfer protocol. 
    
   The user enters a recipient email address using the command: RCPT 
   TO: <Recipient email address>. The AMTP server validates the email 
   address and acknowledges if the recipient email address is internal 
   or external to the system. If it is internal, the server checks if 
   the user exists or not and sends back the appropriate reply code: an 
   error message in case the user does not belong to the server. If it 
   is external to the system, the AMTP server does not check the 
   recipient email address, it just validates it. The AMTP server 
   continues the process and the user enters the DATA command to 
   specify the email body. The user writes the content and the AMTP 
   server stores his/her data on an email. If the recipient email 
   address is internal, the AMTP server transports directly the email 
   to the recipient mailbox. If the recipient email address is 
   external, the AMTP server starts the Information state. 
    
3.2.2   Command in the Email State 
   RCPT TO: <recipient email address> [, <recipient email address>] 
   This RCPT TO command is used to identify an individual recipient of 
   the email. It is the same command described in RFC 2821 [2], 
   therefore reply codes are the same. The parameter for this command 
   can be a list of recipient email addresses separated by a comma 
   (æ,Æ). The command returns information about the validity of the 
   recipient email address. 
    
   DATA 
   The user uses this command to enter the email content. When the AMTP 
   server accepts the DATA command, it has to send an email to the 
   recipient. It is the same command described in RFC 2821 [2]. Reply 
   codes are the same. 
    
3.3 Logout State 
3.3.1   Presentation of the Logout State 
   The Logout state is used to close the connection between the AMTP 
   server and the email client when the user has finished with his/her 
   email and wants to leave the AMTP server. The AMTP server closes all 
   resources used like the database, the TCP channel, the files and the 
   thread. The user uses the QUIT command to terminate the transaction. 
    
 
 
Crouzet                  Expires - April 2004                 [Page 8] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
3.3.2   Command in the Logout State 
   QUIT 
   The QUIT command does not need any parameter. The server replies 
   with the code 221. It is only after this reply code that the 
   transaction is finished. It is the same command described in RFC 
   2821 [2], therefore reply codes are the same. 
    
3.4 Information State 
3.4.1   Presentation of the Information State 
   In this state reserved for the server only, the sender server 
   contacts the recipient server. The sender server connects to the 
   recipient server and receives the reply code 220. Then, the sender 
   server sends the SELO command with three parameters that are the 
   domain name of the sender server, a unique number created by the 
   sender server and the recipient email address. The recipient server 
   verifies if the domain name or IP address corresponds to the 
   parameters found in the network packet. It checks if the recipient 
   email address exists or not in its server. If the recipient email 
   address is unknown, the recipient server sends the error back to the 
   sender server; the sender server sends it back to the user and 
   deletes the email. If the process is handled successfully, the 
   recipient server continues with the Retrieved state. 
    
   In the case of the server being a relay to distribute the email, the 
   sender server proceeds normally. The relaying server will retrieve 
   the email and send the number to the recipient server. The sender 
   server will only proceed with the relaying server. The relaying 
   server does not need to check the recipient email address. In a 
   relaying server, the domain name is the only barrier that could stop 
   an email from being sent. 
    
3.4.2   Command in the Information State 
   SELO <DOMAIN> <NUMBER> <RECIPIENT EMAIL ADDRESS> 
   The SELO command needs three parameters: DOMAIN, NUMBER and 
   RECIPIENT EMAIL ADDRESS. The DOMAIN parameter can be the IP address 
   or the domain name of the sender server. It allows the recipient 
   server to establish a connection with the sender server. The NUMBER 
   parameter is the email identifier. This parameter allows the sender 
   server to recognise the email. The RECIPIENT EMAIL ADDRESS parameter 
   is used to identify a recipient email address. The sender server 
   saves these parameters and the address of the recipient server. If 
   the recipient server knows the recipient email address or if the 
   domain name is in the relaying table, it sends back answers by the 
   reply code 250. If these two conditions are not met, the recipient 
   server answers with the reply code 550. If it is successful, the 
   recipient server enters into the Retrieved state. 
    


 
 
Crouzet                  Expires - April 2004                 [Page 9] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
3.5 Retrieved State 
3.5.1   Presentation of the Retrieved State 
   In the Retrieved state, the recipient server establishes a 
   connection with the sender server to retrieve the email with the 
   number given in the Information state. If the connection is 
   successful, the sender server answers by the reply code 220. Then, 
   the recipient server sends the SEMA command with two parameters 
   separated by a colon (æ:Æ). These two parameters are the recipient 
   email address and the unique number. The sender server checks if 
   these parameters exist or not in its email queue. If the number, the 
   address of the recipient server and recipient email address are 
   correct, the message will be given to the recipient server. The 
   recipient server stores the email and the email appears in the 
   recipient mailbox. In case the number and the recipient email 
   address are incorrect, the sender server sends an error message to 
   the recipient server. 
    
   The relaying server proceeds through this state. The difference 
   between a relaying server and a recipient server is that the 
   relaying server will start the Information State to inform another 
   relaying server or the recipient server. The relaying server will 
   store the email and create a number to use the SELO command. It 
   implements a relay queue to keep sending the email. 
    
3.5.2   Command in the Retrieved State 
   SEMA <RECIPIENT EMAIL ADDRESS >:<NUMBER> 
   This command is reserved for the AMTP server. It needs two 
   parameters: RECIPIENT EMAIL ADDRESS and NUMBER. The RECIPIENT EMAIL 
   ADDRESS parameter is the recipient email address. The NUMBER 
   parameter is a number used to recognise the email on the sender 
   server. If the number exists, the sender server will send the data 
   together. If the number is wrong, the connection will be closed.  
    
   If the email has not been retrieved and the lifetime of the email 
   has expired, the AMTP server will inform the sender about it. The 
   sender can resend the email. The AMTP server will keep evidence of 
   this email and inform the administrator about the fact that the 
   email has not been retrieved. The administrator can think about the 
   reason why the email was not delivered. 
    
4. Structure of an email in the Authenticated Mail Transfer Protocol 
   header 
   The email client needs to make a distinction between the email 
   header, the relaying information and the email and its body. When an 
   email client writes an email, there is a small distinction between 
   the email header information and the email body. For example, the 
   subject is entered with the email body. This option is technical and 
   a user will not see the difference in the email client. 

 
 
Crouzet                  Expires - April 2004                [Page 10] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   Authenticated Mail Transfer Protocol modifies the structure of the 
   email. The header will be entered separately from the data. 
    
   AMTP adds the version of the transfer protocol used into the server 
   information: Version 1.0 for SMTP and Version 2.0 for AMTP. By 
   adding this parameter, a recipient server can prevent a user from 
   risks incurred with SMTP. An AMTP server can accept an email from a 
   SMTP server and insert the version of the protocol into the server 
   information. The server information has the same content as the 
   header field ôReceived Fromö in SMTP. 
    
   Using XML tags in the email, the server will be able to directly 
   detect the information it needs. The sender server enters these 
   tags. These XML tags are: 
   => <RELAY> contains the relaying server information </RELAY>. 
   => <HEAD> contains the header information of the email </HEAD>. 
   => <BODY> contains the body information of the email </BODY>. 
    
4.1 Relay Tag 
   In the relay tag, the information about the relaying server is 
   specified. The relaying server should enter information about the 
   sender server and the recipient server using the header field ôRELAY 
   FROM: <sender server information> TO <recipient server 
   information>ö. The recipient server information or the sender server 
   information could be a relaying server. With this information, it 
   will be possible to identify a relaying server from the sender 
   server and to determine the route of the email. 
    
4.2 Head Tag 
   In the head tag, the information about the email is specified. A new 
   header field is introduced in order to distinguish the sender 
   server. The line ôSend From:ö is used to display the sender server 
   information. To avoid a hacker entering data in the email header, 
   this head tag is reserved for the sender server. To implement this 
   solution, an order of lines will be specified. This order will 
   ensure the email is correct. 
    
   The order is: 
   => Sender details: The line ôFrom: sender email address < name >ö. 
   => Sender server: The line ôSend From:ö with the server information 
   and the version of the transfer protocol used. 
   => Date: When the email was written. 
   => Message Identifier: The line ôMessage id: <number>ö. 
   => Recipient details: The line ôTo: recipient email address < name 
   >ö. 
   => Subject: It is the subject of the email. 
   => Other header: These lines are used to enter different headers 
   that are not necessary for the delivery of an email. 
   => MIME details: The details for the MIME protocol. 
 
 
Crouzet                  Expires - April 2004                [Page 11] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
    
   In order to distinguish the email header information from the email 
   body information, the HEAD command is introduced. The user uses this 
   command to enter MIME type information. For a simple text message in 
   ASCII characters, the user can enter the header ôsubjectö into the 
   email content using the DATA command. The header ôsubjectö will be 
   added into the head tag. If a user does not type the HEAD command, 
   the server detects a simple email and presents the email header 
   correctly. The server adds the line ôsubjectö into the email and the 
   content will be entered into the body tag. 
    
   If a user enters the HEAD command, he can type his/her information 
   about the email. The first lines of the header are reserved for the 
   server. The server adds the header: ôFromö, ôSend Fromö, ôDateö, 
   ôMessage idö, and ôToö. After these lines, the user inserts header 
   data that can contain different information for instance a MIME 
   type. 
    
4.3 Body Tag 
   The body tag is used to enter the email content. Any information in 
   this tag will be considered as body information. This information 
   will be displayed to the recipient as the email part. 
    
4.4 Example of an email structure 
   The format of the email is: 
   <RELAY> 
   Relay from: < master.com (193.1.124.54); 06 June 2003 15:55:12 
   o'clock IST; Version: 2.0> TO <master.org (200.200.200.100)> 
   </RELAY> 
   <HEAD> 
   From: bcrouzet@master.com 
   Send From: master.com (193.1.124.54); 06 June 2003 15:55:12 o'clock 
   IST; Version: 2.0 
   Date: 06 June 2003 15:55:12 o'clock IST 
   Message id: 1055034769259 
   To: 2@master.org 
   Subject: XML Tags 
   </HEAD> 
   <BODY> 
   It is a demonstration of the new mail structure with three XML tags. 
   </BODY> 
     
   The advantage of these XML tags is to preserve the structure of the 
   email. A user cannot change the information during the process of 
   transferring an email. The sender server completes the XML tags HEAD 
   and BODY. The recipient server and the relaying server modify the 
   XML tag RELAY. Useful information is classified and available 
   without searching in the email. AMTP adds an email structure in 

 
 
Crouzet                  Expires - April 2004                [Page 12] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   order to detect the relay, header and body information quicker that 
   Simple Mail Transfer Protocol. 
 
5. Authenticated Mail Transfer Protocol Commands 
5.1 Optional Commands 
   RSET 
   The RSET command allows a user to reset any action that has already 
   been activated. It allows a user to restart the transaction from the 
   beginning. It is the same command described in RFC 2821 [2]. The 
   reply codes are identical. 
    
   NOOP 
   The NOOP command allows a user to reset the timer. It is the same 
   command described in RFC 2821 [2]. The reply codes are the same. 
    
   HELP [<topic>] 
   The HELP command gives a user some information about the command it 
   provides. It provides useful information for the client. It is the 
   same command described in RFC 2821 [2]. The reply codes are 
   identical. If a user enters a topic as a parameter, the system 
   provides information on this topic. 
    
   MORE TO: <recipient email addresses> [, <recipient email address>] 
   The MORE TO command allows a sender to add more recipient email 
   addresses to the email without changing the first recipient email 
   address entered or to correct a recipient email address entered 
   wrongly with the RCPT TO command. The RCPT TO command does not 
   correct invalid email address. The MORE TO command can be used after 
   the RCPT TO command and does not replace the RCPT TO command. Using 
   the MORE TO command, the sender corrects invalid email addresses. 
   The parameter <recipient email addresses> specifies multiple 
   recipient email addresses separated by a comma (æ,Æ). This command 
   gives the validity of the recipient email address. 
    
   The advantage of the MORE TO command is to prevent a user from 
   retyping a valid email address using the RCPT TO command. A user can 
   enter the MORE TO command to add different recipients to the email. 
   The programme has to store all valid recipient email addresses 
   during the process. This could be a little inconvenient but this 
   command saves time in the overall process. 
    
   HEAD 
   A user types the HEAD command to enter the email header details. 
   This command is like the DATA command, is entered before the DATA 
   command and separates the email header from its body. The server 
   replies with the code 354 to enter the email header details. To 
   finish entering the email header details, the user enters a dot 
   (æ.Æ). The AMTP server stores the email header and wait for the DATA 
   command. The email header is always in American Standard Code for 
 
 
Crouzet                  Expires - April 2004                [Page 13] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   Information Interchange (ASCII) characters and no code has to be 
   given in reply to the user. 
    
   The advantage of the HEAD command is to differentiate between the 
   header information to the body information. This command specifies 
   the header information of the email. The user or the programme uses 
   it when the email is complex. The drawback is that the programme or 
   the user has to enter the header information into this command 
   during the Client-to-Server transaction; it therefore adds time to 
   the overall process. 
    
5.2 Obsolete Commands 
   MAIL FROM 
   The sender server manages this command and adds the sender email 
   address to the email. It is a hidden field like the ôreceived fromö 
   field. 
    
   EHLO 
   Since a user has to be identified by the server, there is no point to 
   keep this command but the result of the EHLO command is important. It 
   gives helpful information about the server to the user. The result 
   will be displayed after the user has been identified. 
    
   TURN 
   This command allows a client to become a server and the server to 
   become the client. For security reasons, this command has been 
   disabled. 
    
   VRFY 
   A user will be unable to verify an email address for security 
   reasons. It is important to know and check an email address but today 
   phone, letter or email communications can transmit email addresses. 
    
   EXPN 
   For security reasons, this command has been removed from the 
   protocol. This command confirms that the argument is a mailing list. 
   It is dangerous because a user can know the name of a mailing list 
   and diffuse it. 
    
   HELO 
   This command comes from RFC 821 [1] and been replaced in RFC 2821 [2] 
   by the EHLO command. There is no point in keeping this command in the 
   protocol. 
    
   SEND 
   It is rarely implemented. There is no point in keeping this command 
   and since the protocol changed, this command is obsolete. 
    
   SOML 
 
 
Crouzet                  Expires - April 2004                [Page 14] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   It is rarely implemented. There is no point in keeping this command 
   and since the protocol changed, this command is obsolete. 
    
   SAML 
   It is rarely implemented. There is no point in keeping this command 
   and since the protocol changed, this command is obsolete. 
    
5.3 Order of commands 
   There are restrictions on the order in which these commands may be 
   used. A session starts with the USER command. After this, a user 
   enters his/her username and password. The server accepts the client 
   if he/she is identified and lets him/her continue the transaction. 
   The NOOP, HELP and RSET commands can be used at any time during a 
   session or without previously initialising a session.  
    
   The RCPT TO command begins the construction of the email. It 
   specifies the recipient email address or multiple recipient email 
   addresses. A user can add more email addresses with the MORE TO 
   command that also allows a user to correct an email address. If a 
   user has a complex email header, he/she enters the HEAD command. 
   He/she continues in any case with the DATA command to send the 
   email. The transaction can be aborted by the RSET command. There may 
   be zero or more email in the session. 
    
   To close the connection, a user types the QUIT command. He/she 
   requests the end of the session. 
    
5.4 Authenticated Mail Transfer Protocol Procedures 
5.4.1   Simple Procedure 
    
    
   A simple AMTP procedure for a user is: 
   S: 220 AMTP >> Connection successful. 
   S: 250 AMTP >> Received from: postgrad-bc 193.1.124.54. 
   S: 250 AMTP >>  
   C: user 
   S: 250 AMTP >> Server Ready 
   C: bct 123 
   S: 250 AMTP >> Welcome Brice CROUZET to the AMTP server. 
   S: 250 AMTP >> SERVER INFORMATION. 
   S: 250 AMTP >> 
   C: rcpt to:jdoody@master.com 
   S: 250 Recipient accepted for "jdoody@master.com" 
   To add or correct a recipient address, please use the command MORE 
   TO 
   S: 250 AMTP >> 
   C: data 
   S: 354 Enter the data of the message. End with "." on a line by 
   itself.  
 
 
Crouzet                  Expires - April 2004                [Page 15] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   C: Subject: AMTP Procedure 1 
   C: It is a simple AMTP procedure. 
   C: . 
   S: 250 Mail delivery successful for "jdoody@master.com" 
   S: 250 AMTP >> 
   C: quit 
   S: 221 Disconnection 
    
   The email has been received: 
   <RELAY> 
   </RELAY> 
   <HEAD> 
   From: bcrouzet@master.com 
   Send From: master.com (193.1.124.54); 09 April 2003 08:56:50 o'clock 
   IST; Version: 2.0 
   Date: 09 April 2003 08:56:50 o'clock IST 
   Message id: 1049998467218 
   To: jdoody@master.com 
   Subject: AMTP Procedure 1 
   </HEAD> 
   <BODY> 
   It is a simple AMTP procedure. 
   </BODY> 
    
5.4.2   Procedure using optional commands 
   An AMTP procedure using optional commands is: 
   S: 220 AMTP >> Connection successful. 
   S: 250 AMTP >> Received from: postgrad-bc 193.1.124.54. 
   S: 250 AMTP >>  
   C: user 
   S: 250 AMTP >> Server Ready 
   C: bct 123 
   S: 250 AMTP >> Welcome Brice CROUZET to the AMTP server. 
   S: 250 AMTP >> SERVER INFORMATION. 
   S: 250 AMTP >> 
   C: help 
   S: 214 This is an AMTP Server. 
   214 Topics: 
   214 QUIT        HELP        RCPT        HEAD        DATA        RSET        
   NOOP  
   S: 250 AMTP >> 
   C: help data 
   S: help for DATA 
   S: Explanation  
   S: 250 AMTP >> 
   C: noop 
   S: 250 AMTP >> Noop OK 
   S: 250 AMTP >> 
   C: rcpt to:jdoody@master.com 
 
 
Crouzet                  Expires - April 2004                [Page 16] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   S: 250 Recipient accepted for "jdoody@master.com" 
   To add or correct a recipient address, please use the command MORE 
   TO  
   S: 250 AMTP >> 
   C: more to:bcrouzet@master.com 
   S: 250 Recipient accepted for "bcrouzet@master.com" 
   To add or correct a recipient address, please use the command MORE 
   TO  
   S: 250 AMTP >> 
   C: head 
   S: 354 Enter the header of the message. End with "." on a line by 
   itself. 
   C: Subject: AMTP Procedure 2 
   C: . 
   S: 250 Head Command Accepted 
   S: 250 AMTP >> 
   C: data 
   S: 354 Enter the data of the message. End with "." on a line by 
   itself. 
   C: Subject: Test 
   C: It is an AMTP procedure using optional commands. 
   C: . 
   S: 250 Mail delivery successful for "jdoody@master.com", 
   "bcrouzet@master.com" 
   S: 250 AMTP >> 
   C: quit 
   S: 221 Disconnection 
    
   The email for jdoody@master.com has been received: 
   <RELAY> 
   </RELAY> 
   <HEAD> 
   From: bcrouzet@master.com 
   Send From: master.com (193.1.124.54); 09 April 2003 09:00:17 o'clock 
   IST; Version: 2.0 
   Date: 09 April 2003 09:00:17 o'clock IST 
   Message id: 1049998673855 
   To: jdoody@master.com 
   Subject: AMTP Procedure 2 
   </HEAD> 
   <BODY> 
   Subject: Test 
   It is an AMTP procedure using optional commands. 
   </BODY> 
    
   The email for bcrouzet@master.com has been received:  
   <RELAY> 
   </RELAY> 
   <HEAD> 
 
 
Crouzet                  Expires - April 2004                [Page 17] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   From: bcrouzet@master.com 
   Send From: master.com (193.1.124.54); 09 April 2003 09:00:17 o'clock 
   IST; Version: 2.0 
   Date: 09 April 2003 09:00:17 o'clock IST 
   Message id: 1049998673895 
   To: bcrouzet@master.com 
   Subject: AMTP Procedure 2 
   </HEAD> 
   <BODY> 
   Subject: Test 
   It is an AMTP procedure using optional commands. 
   </BODY> 
    
5.4.3   Procedure with RSET command 
    
   An AMTP procedure using the RSET command is: 
   S: 220 AMTP >> Connection successful. 
   S: 250 AMTP >> Received from: postgrad-bc 193.1.124.54. 
   S: 250 AMTP >>  
   C: user 
   S: 250 AMTP >> Server Ready 
   C: bct 123 
   S: 250 AMTP >> Welcome Brice CROUZET to the AMTP server. 
   S: 250 AMTP >> SERVER INFORMATION. 
   S: 250 AMTP >> 
   C: rcpt to:jdoody@master.com 
   S: 250 Recipient accepted for "jdoody@master.com" 
   To add or correct a recipient address, please use the command MORE 
   TO  
   S: 250 AMTP >> 
   C: rset 
   S: 250 AMTP >> Reset OK 
   S: 250 AMTP >> 
   C: data 
   S: 503 Need RCPT before DATA "data".  
   S: 250 AMTP >> 
   C: rcpt to:2@master.org 
   S: 250 Recipient accepted for "2@master.org" 
   To add or correct a recipient address, please use the command MORE 
   TO  
   S: 250 AMTP >> 
   C: data 
   S: 354 Enter the data of the message. End with "." on a line by 
   itself. 
   C: Subject: AMTP Procedure 3 
   C: It is an AMTP procedure using RSET command. 
   C: . 
   S: 250 Mail in the spool for delivery for "2@master.org". 
   S: 250 AMTP >> 
 
 
Crouzet                  Expires - April 2004                [Page 18] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   C: quit 
   S: 221 Disconnection 
    
   The email has been received: 
   <RELAY> 
   Relay from: <master.com (193.1.124.54); 09 April 2003 09:02:13 
   o'clock IST; Version: 2.0> TO <master.org (193.1.124.51)> 
   </RELAY> 
   <HEAD> 
   From: bcrouzet@master.com 
   Send From: master.com (193.1.124.54); 09 April 2003 09:02:13 o'clock 
   IST; Version: 2.0 
   Date: 09 April 2003 09:02:13 o'clock IST 
   Message id: 1064375633560 
   To: 2@master.org 
   Subject: AMTP Procedure 3 
   </HEAD> 
   <BODY> 
   It is an AMTP procedure using RSET command. 
   </BODY> 
 
6. Relay with Authenticated Mail Transfer Protocol 
   An open relay or relaying server is an email server that allows 
   people to relay email. By processing email that is not for or from a 
   local user, a relaying server makes it possible for an unscrupulous 
   sender to route large volumes of spam email. The advantages of a 
   relaying server are that a sender can send an email from anywhere 
   outside his/her email network, a sender can use any application and 
   the sender server does not have to know each recipient server to 
   transfer an email. The drawback of a relaying relay is that spammers 
   use it in order to hide their identity and the source of their 
   personal computer. The relaying server only adds its information in 
   the email header but it cannot verify the sender email address or 
   insert any information concerning the sender identity. 
    
   With Authenticated Mail Transfer Protocol, the relaying server that 
   allows people to relay email will do exactly the same transaction as 
   a recipient server. It receives the notification for an email and 
   retrieves the email. After this transaction, it will inform the 
   recipient server that an email has to be retrieved on the relaying 
   server. The email will arrive to the recipient even if the email 
   passes by a relaying server. The transaction between the sender and 
   the recipient within a relay will be longer than if there was a 
   direct link between the two email servers. The advantages are that 
   the spammer cannot use the relaying server to send anonymous and 
   spoofed email and the sender server does not have to know each 
   recipient server to transfer an email. 
    
   --------------------------------------------------------------------- 
 
 
Crouzet                  Expires - April 2004                [Page 19] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   Sender <- AMTP -> Sender Server <- AMTP -> Relay Server <- AMTP -> 
   Recipient Server <- POP or IMAP -> Recipient 
   --------------------------------------------------------------------- 
   Figure 3: Presentation of transaction with a relay server 
   --------------------------------------------------------------------- 
    
   The sender server transfers an external email to the relaying 
   server. When the route to send an email to the recipient is not 
   known by the sender server, it goes through a relaying server to 
   accomplish the transaction. The sender server enters into the 
   Information state and informs the relaying server that an email is 
   waiting to be retrieved. The relaying server accepts the email if it 
   knows the recipient server or another relaying server that it can 
   send the email to by checking its route table. 
    
   The relaying server enters into the Retrieved state and retrieves 
   the email from the sender server. Instead of storing the email in 
   the recipient mailbox, it stores the email as an external email and 
   informs the recipient server or another relaying server about it. 
   The email is stored into the relaying server and no longer in the 
   sender server. 
    
   The relaying server continues with the Information state and waits 
   for an answer from the recipient server. The recipient server checks 
   and validates the recipient email address. If the recipient email 
   address does not exist, it sends back an error message to the 
   relaying server that sends an email to the sender to inform him/her 
   about the fact that the recipient email address is incorrect. If the 
   recipient email address is correct, the recipient server enters into 
   the Retrieved state. It retrieves the email from the relaying server 
   and stores the email in the recipient mailbox. 
    
   The transaction between a sender server and a relaying server is 
   identical to a transaction between a sender server and a recipient 
   server. The same transaction is also used between a relaying server 
   and a recipient server. The difference with a relaying server is 
   that the email has to be sent to another server. The relaying server 
   will change the NUMBER parameter in the SELO command, by creating a 
   new one to avoid a copy of the email. 
    
   The procedure of the AMTP relaying function is: 
   --------------------------------------------------------------------- 
   Step1: 
   Sender email Client --> Sender server 
   Using AMTP logout state, AMTP identified state and AMTP mail state 
   --------------------------------------------------------------------- 
   Step 2: 
   Sender server --> Relaying server 
   Using AMTP information state 
 
 
Crouzet                  Expires - April 2004                [Page 20] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
    
   Sender server <-- Relaying server 
   Using AMTP Retrieved state 
   --------------------------------------------------------------------- 
   Step 3: 
   Relaying server --> Relaying server 
   Using AMTP information state 
    
   Relaying server <-- Relaying server 
   Using AMTP Retrieved state 
   --------------------------------------------------------------------- 
   Step 4: 
   Relaying server --> Recipient server 
   Using AMTP information state 
    
   Relaying server <-- Recipient server 
   Using AMTP Retrieved state 
   --------------------------------------------------------------------- 
   Step5: 
   Recipient server <-- Recipient email client 
   Using POP3 or IMAP transaction 
   --------------------------------------------------------------------- 
    
   Authenticated Mail Transfer Protocol is operational as a relaying 
   server. The relaying server is used to transfer email to a recipient 
   server. Authenticated Mail Transfer Protocol is therefore protected 
   against anonymous and spoofed email. A user can send an email to 
   his/her server and use the relaying server to transfer an email to 
   other email servers. 
    
    
7. Authenticated Mail Transfer Protocol Reply codes 
7.1 New Reply Codes 
   Reply codes are important for a server and a user because it permits 
   them to know if the transaction is correct or not. The reply code 555 
   informs the server for any errors that occur between two servers. The 
   error permits the server to take action of it. There are four types 
   of error: during the Identified state, during the transaction to send 
   an email (Email State) and during the transaction between two servers 
   for the commands SELO and SEMA. 
    
   For the Identified state, the reply codes are: 
   => 503 Use the Command USER before other commands. 
   => 401 User unknown û Enter the user information again - only 3 
   times. 
   => 505 User does not exist û Connection close. 
   => 250 User Accepted. 
    
   When the user sends an email, the reply codes are: 
 
 
Crouzet                  Expires - April 2004                [Page 21] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   => 501 The email is wrong. 
   => 551 User not local. 
   => 250 Server Ready. 
    
   When the server uses the command SELO, the reply codes are: 
   => 555 Selo command error û Recipient Unknown, Argument missing, 
   Command Unknown or Result Unknown. 
   => 250 Selo Accepted. 
   => 250 Mail accepted for delivery. 
    
   When the server uses the command SEMA, the reply codes are: 
   => 555 Sema command error û Argument missing, Mail does not exist, 
   Command Unknown or Result Unknown. 
   => 555 Mail error. 
   => 250 Sema Accepted. 
   => 250 Mail delivered. 
    
7.2 Reply Codes from Request For Comment 2821 
   Positive Completion replies are: 
   => 211 System status or system help reply. 
   => 214 Help message. 
   => 220 Service ready. 
   => 221 Service closing transmission channel. 
   => 250 Requested mail action okay, completed. 
   => 251 User not local. 
   => 252 Cannot VRFY user, but will accept message and attempt 
   delivery. 
    
   Positive Intermediate reply is: 
   => 354 Start mail input; end with. 
       
   Transient Negative Completion replies are:  
   => 421 Service not available, closing transmission channel. 
   => 450 Requested mail action not taken: mailbox unavailable. 
   => 451 Requested action aborted: local error in processing. 
   => 452 Requested action not taken: insufficient system storage. 
    
   Permanent Negative Completion replies are: 
   => 500 Syntax error, command unrecognized. 
   => 501 Syntax error in parameters or arguments. 
   => 502 Command not implemented. 
   => 503 Bad sequence of commands. 
   => 504 Command parameter not implemented. 
   => 550 Requested action not taken: mailbox unavailable. 
   => 551 User not local; please try. 
   => 552 Requested mail action aborted: exceeded storage allocation. 
   => 553 Requested action not taken: mailbox name not allowed. 
   => 554 Transaction failed. 
 
 
 
Crouzet                  Expires - April 2004                [Page 22] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
8. Test Carried Out Against Email Problems 
8.1 Test Authenticated Mail Transfer Protocol Against Anonymous Email 
   The different tests on Authenticated Mail Transfer Protocol show 
   that a user cannot send an anonymous email. The user was not able to 
   change and to enter his/her email address during the process of 
   sending an email. The old commands from SMTP (HELO, EHLO and MAIL 
   FROM) do not work with AMTP. The user can only enter the recipient 
   email address and his/her message. The user cannot modify the email 
   in order to change or to enter a sender email address. The message 
   is entered in the XML tag BODY and the sender server completes the 
   email header using the XML tag HEAD. The sender server enters the 
   sender email address into the email and sends the email at the end 
   of the transaction to the correct recipient. Authenticated Mail 
   Transfer Protocol stops anonymous email. This is the goal of the 
   protocol. 
    
   The only possible way to send an email is to access the email 
   server. The hacker has to create a file in the email server and a 
   row in the email server database. Therefore, he/she can use the SELO 
   command to inform the recipient server. 
    
8.2 Test Simple Mail Transfer Protocol Against Anonymous Email 
   The test shows that it is possible to receive an email from an 
   invalid email address from the same or a different domain name for 
   the three external email servers and for the server prototype. When 
   the user replies to the email, the server returns a delivery message 
   from the sender server or an error message from the client 
   interface. The email received contains some useful information that 
   allows an expert to find an evidence of the sender. Examination of 
   the line "Received From" in the email header makes the email 
   traceable. Microsoft Exchange provides the IP address of the sender 
   computer. Using a provider and a modem, the line "Received From" 
   contains the IP address of the Internet provider used for the 
   connection. Therefore, it is impossible to determine the address of 
   the sender computer. 
    
   In addition to this, the email provider Free does not provide a 
   complete email header: the line ôFromö is unspecified. Therefore, it 
   is impossible to reply to the sender. It is possible to find a 
   sender email address by looking at the email source: The field 
   ôReturn-Pathö gives the user the sender email address. The web 
   interface of the postfix server allows a user to modify his/her 
   email address without finding any information about the true sender 
   in the email header. 
    
   With Simple Mail Transfer Protocol, it is possible to send an 
   anonymous email with an external or internal sender email address. 
   Different countermeasures exist such as time out, different email 
   servers or a web server. These tests are simple and stay in the 
 
 
Crouzet                  Expires - April 2004                [Page 23] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   protocol level. A hacker will study the email server to see if 
   he/she can use it. These tests still prove that Simple Mail Transfer 
   Protocol is insecure. In addition to this, email servers do not 
   respect the email format. Therefore, different applications such as 
   Outlook Express or Microsoft Outlook cannot use the email header. 
    
    
8.3 Test Authenticated Mail Transfer Protocol Against Spoofed Email 
   The different tests on Authenticated Mail Transfer Protocol show 
   that a user cannot send a spoofed email. The user was not able to 
   change or to enter his/her email address during the process of 
   sending an email using the old commands of SMTP: EHLO, HELO or MAIL 
   FROM. The user has to enter the recipient email address and his/her 
   message. He/she cannot enter a sender email address in the email 
   header or use another email to change the sender email address. 
   Authenticated Mail Transfer Protocol stops spoofed email and is the 
   goal of this protocol. 
    
   There are two possible ways to send a spoofed email. The first 
   possibility is to find a username and a password; therefore, a user 
   can send a spoofed email. The second way is to access the email 
   server in order to create a file in it and a row in its database. 
   Therefore, a user can use the SELO command to inform the recipient 
   server about an email created by him/her waiting to be retrieved. 
    
8.4 Test Simple Mail Transfer Protocol Against Spoofed Email 
   The test shows that it is possible to receive an email from someone 
   elseÆs email address from the same or a different domain name for 
   the three external email servers. The sender did not send this email 
   but someone else did. All sender email addresses used for this test 
   are valid. Therefore, there is no need to send a reply to the 
   sender. For all email servers, the server accepts any sender email 
   address without verifying the domain name of the sender. The web 
   interface of the Postfix server shows that it is possible to send an 
   external email using someone elseÆs email address without any 
   information in the email header about the true sender. The only 
   information is the header field "X-Originating-IP". These tests 
   prove that Simple Mail Transfer Protocol is insecure. 
    
8.5 Test Authenticated Mail Transfer Protocol Against Relaying Email 
   The test shows that it is possible to use a relaying server in order 
   to send an external email with Authenticated Mail Transfer Protocol. 
   The sender sends his/her email to the sender server. The sender 
   server transmits the email to the relaying server using the 
   Information and Retrieved states. The relaying server relays the 
   email to the recipient server using the Information and Retrieved 
   states. The recipient server retrieves and copies the email into the 
   recipient mailbox. The recipient is able to read his/her email using 
   the protocol POP3 implemented on the server prototype. In the email, 
 
 
Crouzet                  Expires - April 2004                [Page 24] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   the XML tag RELAY contains all the relay information in order to be 
   able to trace the route of the email and to find all email server 
   addresses. 
    
8.6 Test Simple Mail Transfer Protocol Against Relaying Email 
   The test shows that it is possible to send an email to an external 
   recipient using a relaying server on condition that the instructions 
   of the RFC 821 (Simple Mail Transfer Protocol) are followed. The 
   transaction between a client and a server is identical to the 
   transaction between a server and a server. Simple Mail Transfer 
   Protocol allows a sender to relay an email from any email server. 
    
   This test demonstrates that a real email server is not able to relay 
   an email and to send an external email. The user has to use a 
   Graphical User Interface provided by the email server to send an 
   external email. Administrators have turned off the relaying function 
   in order to protect the user against spam email. Microsoft Exchange, 
   the Mail Transfer Agent Exim and Postfix do not authorise any user 
   to send external email. This test has been conducted with a command 
   prompt using a telnet connection and the protocol SMTP. 
    
   A simple study of the server information provided by any of these 
   email servers does not allow a user to find an access to the email 
   server. Therefore, it is difficult for an external user to send an 
   email outside his/her network. Current email servers provide a Web 
   interface in order to solve this problem but a programmer cannot use 
   his/her client interface in order to send an email. 
 
9. Test Carried Out in a Network 
9.1 Presentation 
   In order to protect a network, it is possible to use a router, a 
   firewall, a proxy server or a firewall associated with a proxy 
   server. It is important to accept or refuse requests coming from 
   outside the network or leaving the network. A network has to be 
   protected in order to increase the security of the user data. The 
   following figure represents one possibility for protection of a 
   network. Network 1 is outside Network 2. The router, the firewall or 
   the proxy server is used as a gateway that allows Network 2 to 
   establish a route to Network 1. When an administrator combines these 
   protections, the diagram for the network is different. In any case, 
   an administrator needs a gateway to connect Network 1 with Network 
   2. It is possible to have a firewall, a proxy server and a router in 
   Network 2 in order to increase the security of the network. 
    
   --------------------------------------------------------------------- 
   Sender <- AMTP -> Sender Server on network 1 <- AMTP -> Firewall, 
   Router or Proxy Server <- AMTP -> Recipient Server 
   --------------------------------------------------------------------- 
   Figure 3: Presentation of protections for the network 
 
 
Crouzet                  Expires - April 2004                [Page 25] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   --------------------------------------------------------------------- 
    
   The first protection is a router. A router is a physical device that 
   joins multiple networks together in order to form the World Wide 
   Web. Routers have the ability to filter traffic, either incoming or 
   outgoing based on the IP addresses of senders and receivers. The 
   Access List in a router is used to ban or to authorise some packets 
   to enter the network. The Access list has to be configured in the 
   router configuration. 
    
   The second protection is a firewall. A firewall is used to filter IP 
   packets going into, or coming out of the network. A firewall can 
   block, forward or pass the packet to the final recipient. The 
   firewall can be set up to filter a protocol (i.e. TCP, UDP or ICMP), 
   a port, an IP address or a range of IP addresses. A firewall is the 
   most powerful tool to filter the packets from the network but not to 
   protect the IP address of the network. 
    
   A firewall is a system or combination of systems that enforces a 
   boundary between two or more networks and keeps intruders out of 
   internal networks. Firewalls serve as barriers for packets passing 
   from one network to another. The command IPCHAINS [5] creates a 
   firewall under Linux. The software ôSolidShare 2.0ö [6] is used as a 
   firewall under Windows. The configuration of these two firewalls is 
   to accept TCP connections and refuse UDP and ICMP connections. 
    
   The last protection is a proxy server. A proxy server is used to 
   filter the packet going into, or coming out of the network. It is 
   similar to a firewall but the proxy server will keep the network 
   completely inaccessible from outside the network. The proxy server 
   redirects any queries (HTTP, SMTP or FTP) to the server in charge of 
   the protocol whether it is inside or outside the network. From an 
   outside point of view, the user believes the proxy server is the 
   server in charge of the network. He/she cannot establish a 
   connection to any server inside the network except the proxy server. 
   In order to establish a transaction going out of the network, the 
   user establishes a connection with the proxy server and then the 
   proxy server requests the userÆs queries. The proxy server changes 
   the user IP address in the packet and replaces it by its IP address. 
    
   A proxy is a system that allows a network to share a single Internet 
   connection. The shared Internet connection can be anything from a 
   dialup modem to a dedicated T1 circuit. Under Linux, the proxy 
   server is ôTCPProxy 1.1.6ö [7] and under Windows, the proxy server 
   is ôGateKeeper Pro 4.5ö [8]. 
    
   An administrator can combine these protections and obtain a well-
   protected and secured network. The challenge for him/her is to find 
   the right configuration that protects every server and computer, and 
 
 
Crouzet                  Expires - April 2004                [Page 26] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   allows the user to have access to all data authorised outside and 
   inside the network. 
    
9.2 Test the Transfer Protocol with Routers as a gateway 
   The test consists in sending an email with SMTP or AMTP between two 
   email servers through routers (CISCO 2600 and CISCO 2500). The test 
   is conducted with the prototype on an internal network. Four tests 
   were performed with one, two, three and four routers. In each test, 
   the transaction with the two protocols was carried out. The IP 
   address of the sender address (192.5.5.10) is identical for the 
   series of tests. The IP address of the recipient server changes 
   according to of the test. The four routers have been configured to 
   accept the transfer of all packets in any direction. 
    
   The result of the test shows that Authenticated Mail Transfer 
   Protocol and Simple Mail Transfer Protocol are operational behind 
   routers. For the series of tests, these two protocols are able to 
   transmit and receive information through routers. The sender server 
   communicates through different routers and finds the route of the 
   recipient server. Therefore, AMTP and SMTP can access the World Wide 
   Web with no difficulty. 
    
9.3 Test the Transfer Protocols with a Firewall as a gateway 
   The result of the test shows that Authenticated Mail Transfer 
   Protocol and Simple Mail Transfer Protocol are operational behind a 
   firewall. For the series of tests, these two protocols were able to 
   transmit and receive information through a firewall. 
    
9.4 Test the Transfer Protocols with a Proxy Server as a gateway 
   A proxy server replaces the IP address of the packet before it is 
   forwarded to the email server. The goal of the proxy server is to 
   avoid people learning the address of any computer inside the local 
   network. SMTP is operational behind a proxy server because the 
   protocol does not verify the IP address of the packet and does not 
   use the IP address of the sender server. 
    
   An AMTP server does not work behind a proxy server because the proxy 
   server changes the IP address in the packet but not the IP address 
   of the SELO command. Therefore, the recipient server is unable to 
   establish connection with the sender server. Two solutions can be 
   implemented: The AMTP server runs on the same computer as the proxy 
   server OR the programme does not check the IP address of the packet 
   behind a proxy server. The first solution for AMTP is to have the 
   email server on the same computer as the proxy server. Therefore, it 
   is the same test as to send an external email on the same network. 
   The test was carried out and showed that it works. The second 
   solution for AMTP is to modify the protocol in order not to compare 
   the IP address of the packet with the IP address of the SELO 
   command. The programme enters the IP address of the proxy, and it 
 
 
Crouzet                  Expires - April 2004                [Page 27] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   can execute the Retrieved state but the level of security of the 
   protocol is decreased. These two solutions allow an AMTP server to 
   work behind a proxy server. 
    
9.5 Test the Transfer Protocols with a Firewall associated with a Proxy 
    Server as a gateway 
   The result of the test shows Simple Mail Transfer Protocol and 
   Authenticated Mail Transfer Protocol are operational behind a 
   firewall associated with a proxy server. The firewall lets the 
   packet go to the email server without changing the IP address of the 
   packet. The proxy server does not touch the packet. For the series 
   of tests, these two protocols were able to transmit and receive 
   information through a firewall. 
    
9.6 Test the Transfer Protocol in a World Wide Web Simulation 
   The result of the test shows that Authenticated Mail Transfer 
   Protocol and Simple Mail Transfer Protocol are operational on the 
   World Wide Web. For this series of tests, these two protocols were 
   able to transmit and receive information through routers, a firewall 
   and a relaying server. 
    
10. Comparison of the Speed of the Two Transfer Protocols 
   The test consists in comparing the speed of the two transfer 
   protocols: Authenticated Mail Transfer Protocol and Simple Mail 
   Transfer Protocol. The server prototype measures the time that the 
   server or the client interface needs to perform a transaction. The 
   user employs the client prototype to send one, five, ten and twenty 
   emails with two different sizes of data through ten different 
   configurations. The small data size contains 472 bytes and the large 
   data size contains 6085 bytes. The average total of email represents 
   the average to send 35 emails (5 + 10 + 20). The first email sent 
   initiates the route in order to establish a connection to the 
   recipient server. Therefore, the result is not taken into 
   consideration in the average total. 
    
   The ten different configurations are: 
   C1: The user sends an internal email. 
   C2: The user sends an external email on the same network. 
   C3: The user sends an external email using an email server as a 
   relay between two email servers. 
   C4: The user sends an external email using a firewall under Linux 
   between two email servers. 
   C5: The user sends an external email using a firewall under Windows 
   between two email servers. 
   C6: The user sends an external email using one router between two 
   email servers. 
   C7: The user sends an external email using two routers between two 
   email servers. 

 
 
Crouzet                  Expires - April 2004                [Page 28] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   C8: The user sends an external email using three routers between two 
   email servers. 
   C9: The user sends an external email using four routers between two 
   email servers. 
   C10: The user sends an external email using four routers and a 
   relaying server: Simulation of a World Wide Web 
    
   The following table displays the time in milliseconds and represents 
   the average for sending 35 emails sent using a small or large data 
   size for Authenticated Mail Transfer Protocol (AMTP) and Simple Mail 
   Transfer Protocol (SMTP). The time takes into consideration the 
   Client-to-Server and the Server-to-Server transaction times. The 
   field Difference represents the difference between AMTP and SMTP 
   (time with AMTP û time with SMTP). It compares the times in order to 
   decide which one is the quickest to transfer an email. In brackets, 
   we have the quickest protocol. 
    
   /------------------------------------------------------------\ 
   | Name  | Small Size of Data      | Large Size of data       | 
   |       | AMTP | SMTP |Difference | AMTP | SMTP | Difference | 
   -------------------------------------------------------------- 
   | C1    | 225  | 172  |53   (SMTP)| 221  | 197  | 25   (SMTP)| 
   | C2    | 1455 | 894  |561  (SMTP)| 1345 | 905  | 440  (SMTP)| 
   | C3    | 3442 | 2912 |530  (SMTP)| 3193 | 2172 | 1022 (SMTP)| 
   | C4    | 9762 | 5459 |4303 (SMTP)| 9834 | 6167 | 3667 (SMTP)| 
   | C5    | 9925 | 5299 |4626 (SMTP)| 10019| 5159 | 4860 (SMTP)| 
   | C6    | 1287 | 838  | 449 (SMTP)| 1305 | 1071 | 234  (SMTP)| 
   | C7    | 1510 | 1721 |-211 (AMTP)| 4255 | 7029 | -2774(AMTP)| 
   | C8    | 2090 | 2446 |-356 (AMTP)| 4769 | 7847 | -3077(AMTP)| 
   | C9    | 2087 | 3447 |-1360(AMTP)| 2063 | 2753 | -690 (AMTP)| 
   | C10   | 3446 | 5698 |-2252(AMTP)| 9848 | 8334 | 1513 (SMTP)| 
   -------------------------------------------------------------- 
   | Total | 35004| 28713|6290 (SMTP)| 46632| 41437| 5195 (SMTP)| 
   \------------------------------------------------------------/ 
    
   All tests have been realised with the same prototype using the same 
   algorithm to send an email. As expected, Simple Mail Transfer 
   Protocol is quicker than Authenticated Mail Transfer Protocol. 
   Overall, the results show only a small difference between these two 
   transfer protocols. Authenticated Mail Transfer Protocol takes 5.2 
   and 6.3 seconds more to send an email to a recipient than Simple 
   Mail Transfer Protocol. AMTP is better in three cases: Configuration 
   C7, C8 and C9 (routers tests). For a small data size, AMTP is better 
   than SMTP for the configuration C10 (WWW). For other configurations, 
   SMTP is better. 
    
   During the test, a problem occurred for configuration C3 with AMTP: 
   the server prototype produces some database errors; it tries to 
   insert a row with the same primary key. Because of this, an error 
 
 
Crouzet                  Expires - April 2004                [Page 29] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   occurs and the processing time increases. This problem was solved 
   with a random number for the primary key but some errors still 
   happen. The server prototype looses time finding a primary key for 
   the EXTQUEUE table needed to verify the parameters of the SEMA 
   command. 
    
   It is possible to reduce the time for a Client-to-Server transaction 
   for AMTP. In the server prototype, AMTP sends three times more 
   information than SMTP, i.e. SMTP sends only one line while AMTP 
   sends three lines for each reply. Therefore, the time taken to send 
   these two lines increases the average time. Two tests were conducted 
   with a reduction of the Client-to-Server transaction using the 
   configuration C1 (internal mail) and C2 (external mail with a direct 
   link to the recipient server). The server prototype sends only one 
   line between each command. 
    
   /------------------------------------------------------------\ 
   | Name  | Small Size of Data      | Large Size of data       | 
   |       | AMTP | SMTP |Difference | AMTP | SMTP | Difference | 
   -------------------------------------------------------------- 
   | C1    | 164  | 202  | -38 (AMTP)| 171  | 198  | -27  (AMTP)| 
   | C2    | 610  | 807  | -198(AMTP)| 634  | 739  | -105 (AMTP)| 
   -------------------------------------------------------------- 
   | Total | 774  | 1009 | -235(AMTP)| 806  | 938  | -132 (AMTP)| 
   \------------------------------------------------------------/ 
    
   The result of this test shows that AMTP is quicker for each 
   configuration. This simple test demonstrates that AMTP can be 
   quicker than SMTP for all configurations if the Client-to-Server 
   transaction is shorter. This transaction is shorter on protocol but 
   longer on server prototype in order to explain the new transfer 
   protocol to the user. 
    
   In the future, the series of tests should send more emails and 
   should be conducted on a real network with two email servers located 
   on different places. The Client-to-Server procedure should be 
   reduced on the server prototype. This series of tests should give a 
   better demonstration of the efficiency of AMTP. 
    
11. Attack against an Authenticated Mail Transfer Protocol server 
   The two server commands, SELO and SEMA, can be used as an attack 
   against the email server and allow a hacker to obtain a user email 
   address. A hacked needs more resources in order to do so. He/she has 
   to run an Authenticated Mail Transfer Protocol server on port 26. It 
   is more difficult for him/her because only one programme per server 
   can listen to port 26. A hacker cannot implement a programme on an 
   existent Authenticated Mail Transfer Protocol server. Moreover, 
   he/she cannot use a telnet connection to send an anonymous email or 
   create a fake Authenticated Mail Transfer Protocol server on a 
 
 
Crouzet                  Expires - April 2004                [Page 30] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   computer without port 26. If a hacker has his/her own server, 
   his/her IP address is in the packets and identifiable by the 
   administrator. 
    
   A hacker can use the server command in the protocol in order to 
   attack the server. If he/she wants to succeed, he/she has to know 
   the message number and the recipient email address, which he/she 
   cannot have both at the same time. If a hacker tries too many times, 
   the server discovers the attack and closes the connection. A hacker 
   does not affect a user, only the performance of the server. Two 
   commands are available for him/her: SELO and SEMA. The SELO command 
   is used to inform a recipient server that an email has to be 
   retrieved. The SEMA command is used to retrieve an email. 
    
11.1 Using the SELO command 
   The hacker has to create an email inside the email server and a row 
   in the email database. He/she informs the recipient server which 
   server tries to retrieve the email and it will succeed only if the 
   hacker has created the two conditions: email inside the server and a 
   row in the database. Using the SELO command, the hacker can obtain a 
   valid email address from the server. The SELO parameters for this 
   test are: 
   The name or IP address of the sender server is 193.1.124.54 
   The email number is 123456789 
   The recipient email address is: 
   Valid Internal email address: bcrouzet@master.com 
   Invalid Internal email address: anonymous@master.com 
   External email address: anonymous@master.org 
    
   The server returns an error because the email does not exist. The 
   error SAAN3 specifies ôThe function semaAction cannot find the 
   filename and the sender in the database: table extqueueö. Therefore, 
   the sender server cannot deliver the email to the recipient server. 
    
   On the server prototype, the email server displays the error SA10 
   that specifies that the reply code is different from 250. The server 
   is informed that an email with the number 123456789 for 
   anonymous@master.org is waiting on the server 193.1.124.54 to be 
   retrieved. The recipient server will try to retrieve this email 
   using the SEMA command. 
    
   The server returns an error to specify that the user does not exist 
   locally. The server will not try to use the Retrieved state. The 
   problem remains that a hacker is able to find a valid recipient 
   email address from the server and to trigger the Retrieved state. 
   Whatever the situation, the hacker was not able to send an email. 
   The only protection against his/her attack is to have a list of IP 
   addresses that uses the SELO command. If the IP address is repeated 
   many times and the server does not use the Retrieved state, then the 
 
 
Crouzet                  Expires - April 2004                [Page 31] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   administrator has to ban the IP address or check the problem. Any 
   email server does not allow people to establish a connection on port 
   23 (telnet 23). Therefore, it is difficult to insert data into an 
   email server. 
    
11.2 Using the SEMA command  
   The hacker can use the SEMA command to retrieve an email that it is 
   not for him/her. In order to do this, he/she needs to find the two 
   parameters of the SEMA command that correspond to an email on the 
   sender server. The SEMA command needs 2 parameters: 
   The recipient email address is: bcrouzet@master.com 
   Number: 123456789 
    
   The result of the SEMA command is identical for all email addresses. 
   The server does not have the valid information in its database. The 
   server returns an error because the email does not exist. The error 
   SAAN3 specifies ôThe function semaAction cannot find the filename 
   and the sender in the database: table extqueueö. Therefore, the 
   sender server cannot deliver the email to the recipient server. The 
   user bcrouzet@master.com did not receive an email and the hacker did 
   not retrieve an email from a user mailbox. 
   The test shows that the hacker was able to do nothing. If the number 
   and the recipient email address are incorrect, the server returns an 
   error. Again, a list of IP addresses will be helpful to protect the 
   server against this type of attack. Any failed SEMA command has to 
   be studied in order to understand the error. Whatever the situation, 
   the hacker was not able to retrieve an email. 
    
11.3 Overview of attacks against an Authenticated Mail Transfer 
    Protocol server 
   Authenticated Mail Transfer Protocol provides two server commands 
   that are used during the Server-to-Server transaction. Hackers can 
   used these two commands in order to hack the system. The different 
   tests on Authenticated Mail Transfer Protocol show that a hacker can 
   find a local email address on the email server but he/she cannot 
   access the email server or retrieve an email. To find the number and 
   the recipient email address is a very difficult task. These two 
   parameters depend on the sender server and the user. It is possible 
   to find the algorithm that produced the number but it will be 
   difficult to find the recipient email address and the number, both 
   at the same time. The recipient email address depends on the sender 
   and the number depends on the number of messages sent. These numbers 
   are stored in the server, where it is difficult to crack the 
   database. In addition to this, it is important to maintain a list of 
   IP addresses, which contains failed SELO or SEMA commands in order 
   to determine the address of the attacker. 
    


 
 
Crouzet                  Expires - April 2004                [Page 32] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
12. Conclusion 
   In conclusion, this is one solution investigated to recognise a user 
   by a server. The Authenticated Mail Transfer Protocol server 
   identifies the user before he/she can use the email server. The 
   drawback is that the transaction between two email servers takes 
   more time than Simple Mail Transfer Protocol. This solution offers 
   the guarantee that the sender exists and avoids spoofed and 
   anonymous email, which is the aim of the exercise. It is a major 
   step forward in the success of the thesis. 
    
   The sender server identifies any sender and the recipient server is 
   able to trust the information provided by the sender server. The 
   recipient trusts the sender email address and he/she can find the 
   sender without any difficulty. This solution does not stop spam 
   email but it reduces the negative effect of this email problem. A 
   user has the possibility of locating the sender and informing the 
   sender server. 
    
   Authenticated Mail Transfer Protocol modifies the structure of an 
   email in order to find essential information in the email faster. It 
   also improves the relaying function in order to use it. It adds new 
   commands and improves the service offered during a transaction. 
    
   The advantage of this solution is the difficulty for a hacker to 
   find the number and the recipient email address from the SELO and 
   SEMA commands. These two parameters depend on the sender server and 
   the sender. The recipient email address depends on the sender and 
   the number will depend on the number of email sent. These numbers 
   are stored in the sender server, where it is difficult to crack the 
   database. It is possible to find the algorithm that produced the 
   number but it will be difficult to find the recipient email address 
   and the number together. 
    
   This document has demonstrated shown that Authenticated Mail 
   Transfer Protocol is more secure and advanced than Simple Mail 
   Transfer Protocol. The series of tests demonstrates that 
   Authenticated Mail Transfer Protocol solved two email problems: 
   anonymous and spoofed email and improved the relay between email 
   servers. 
    
   In the local network, Authenticated Mail Transfer Protocol works 
   behind routers and gateways except proxy servers. Authenticated Mail 
   Transfer Protocol is operational to work on a real World Wide Web. 
   Authenticated Mail Transfer Protocol is slower than Simple Mail 
   Transfer Protocol but it only takes 5-6 seconds more than Simple 
   Mail Transfer Protocol in the overall result. A reduction of the 
   Client-to-Server transaction on the prototype shows that 
   Authenticated Mail Transfer Protocol outperforms Simple Mail 
   Transfer Protocol. Different configurations help to show that 
 
 
Crouzet                  Expires - April 2004                [Page 33] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   Authenticated Mail Transfer Protocol works as fast as Simple Mail 
   Transfer Protocol. 
    
   Hackers can attack Authenticated Mail Transfer Protocol with two 
   server commands, SELO and SEMA, without damaging the email server. 
   Authenticated Mail Transfer Protocol offers different advantages 
   with three XML tags (RELAY, HEAD and BODY) in the structure of the 
   email and two new commands (HEAD and MORE TO). In conclusion, 
   Authenticated Mail Transfer Protocol outperforms Simple Mail 
   Transfer Protocol and offers to users different advantages that will 
   improve daily use. 
    
Security Considerations 
   Security Considerations has been described during this document. 
    
    
    
References
    
   [1] Postel, J. (1982) Simple Mail Transfer Protocol. RFC 0281. ISI 
    
   [2] Klensin, J. (2001) Simple Mail Transfer Protocol. RFC 2821. AT&T 
   Laboratories. 
    
   [3] Crocker, D. (1982) Standard for the format of ARPA Internet text 
   messages. RFC 0822. University of Delaware. 
    
   [4] Resnick, P. (2001) Internet Message Format. RFC 2822. QUALCOMM 
   Incorporated. 
    
   [5] Russell, R. (2000) Linux IPCHAINS-HOWTO [Online]. Available 
   from: http://www.tldp.org/HOWTO/IPCHAINS-HOWTO.html [Accessed 04 
   September 2002]. 
    
   [6] Lijun, Q. (2002) Internet sharing and firewall - SolidShare 
   [Online]. Available from: http://www.solidshare.com [Accessed 04 
   September 2002]. 
    
   [7] Zekoll, W. (2002) tcpproxy - Generic TCP/IP Proxy [Online]. 
   Available from: http://www.quietsche-
   entchen.de/software/tcpproxy.html [Accessed 04 September 2002]. 
    
   [8] Infopulse (2002) Proxy - Pro GateKeeper - Your Internet Sharing 
   Solution - Proxy Server [online]. Available from: http://www.proxy-
   pro.com/index.html [Accessed 04 September 2002]. 
    
   [9] Postel, J. (1981) Internet Protocol - DARPA Internet Program 
   Protocol Specification. RFC 791. USC/Information Sciences Institute. 
    
 
 
Crouzet                  Expires - April 2004                [Page 34] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   [10] Postel, J. (1981) Transmission Control Protocol - DARPA 
   Internet Program Protocol Specification. RFC 793. USC/Information 
   Sciences Institute. 
    
   [11] RFC Editor. (2001) Definition of RFC [Online]. Available from: 
   http://www.rfc-editor.org/overview.html [Accessed 10 December 2001]. 
    
   [12] Freed, N. Borenstein, N. (1996) Multipurpose Internet Mail 
   Extensions (MIME) Part One: Format of Internet Message Bodies. RFC 
   2045. Innosoft. First Virtual. 
    
   [13] Crocker, D., Overell, P. (1997), Augmented BNF for Syntax 
   Specifications: ABNF. RFC 2234. Internet Mail Consortium. Demon 
   Internet Ltd. 
    
Appendix 
Appendix A: Acronyms 
    
   ASCII=> American Standard Code for Information Interchange (ASCII) is 
   the most common format for text files in computers and on the 
   Internet. In an ASCII file, each alphabetic, numeric, or special 
   character is represented with a 7-bit binary number (a string of 
   seven 0s or 1s). 128 possible characters are defined [13]. 
    
   IP => Internet Protocol (IP) is designed for use in interconnected 
   systems of packet-switched computer communication networks. The IP 
   provides for transmitting blocks of data called datagramÆs from 
   sources to destinations, where sources and destinations are hosts 
   identified by fixed length addresses.  The IP also provides for 
   fragmentation and reassemble of long datagramÆs, if necessary, for 
   transmission through "small packet" networks [9]. 
    
   MIME => Multipurpose Internet Mail Extensions (MIME) is an extension 
   of the original Internet email protocol that lets people use the 
   protocol to exchange different kinds of data files on the Internet. 
   The type of data can be audio, video, images, application programs, 
   and other kinds, as well as the ASCII handled in the original 
   protocol (SMTP) [12]. 
    
   RFC => Request For Comment (RFC) forms a series of notes, started in 
   1969, about the Internet. The notes discuss many aspects of computer 
   communication, focusing on networking protocols, procedures, 
   programmes, and concepts but also including meeting notes, opinion, 
   and sometimes humour [11]. 
    
   SMTP => Simple Mail Transfer Protocol (SMTP) is to transfer any mail 
   from a client to a server and is defining in RFC 0821 [1] and RFC 
   2821 [2]. The protocol used the port 25 to receive the data and the 
   TCP/IP protocol to transport the data in the network. 
 
 
Crouzet                  Expires - April 2004                [Page 35] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
    
   TCP => Transmission Control Protocol (TCP) is intended for use as a 
   highly reliable host-to-host protocol between hosts in packet-
   switched computer communication networks, and in interconnected 
   systems of such networks [10]. 
    
Appendix B: Terminology 
   => A mail, email, message or electronic mail represents a message 
   sent across the network from one person to another.  
   => Anonymous email is email that has been directed to a recipient 
   through a third-party server that does not identify the originator of 
   the message. 
   => Client refers to the user software. 
   => Command represents a specific order from a user to an application 
   to perform a service. 
   => Hacker is a person who tries to break into the computer system. 
   => Mail Agent System represents a system to manage the mail (write, 
   read, delete and send).  
   => Authenticated Mail Transfer Protocol characterises the Simple Mail 
   Transfer Protocol version 2. 
   => Protocol or standard represents a set of rules for a subject. 
   => Recipient represents the user who receives a mail and is in the 
   server side. 
   => SA represents a SMTP server where the sender is known. 
   => SB represents a SMTP server where the recipient is located. 
   => Sender represents the user who sends a mail and is in the client 
   side. 
   => Server represents the application running on the server side. 
   => Spam is unsolicited email on the Internet. 
   => Transaction is an exchange of information between 2 servers or a 
   server and a user. 
   => User is used to refer to a human user. 
    
Author's Addresses 
    
   Brice Crouzet (PK4) 
   Institute of Technology Tallaght 
   Tallaght 
   Dublin 24 
   Ireland 
    
   Phone: + 353 (0) 14 04 23 45 
   Fax: + 353 (0) 14 04 20 00 
   E-mail: brice.crouzet@it-tallaght.ie 
    
Copyright Notice 
   Copyright (C) The Internet Society (date). All Rights Reserved. 
   This document and translations of it may be copied and furnished to 
   others, and derivative works that comment on or otherwise explain it 
 
 
Crouzet                  Expires - April 2004                [Page 36] 
                 Authenticated Mail Transfer Protocol     October 2003 
 
 
   or assist in its implementation may be prepared, copied, published 
   and distributed, in whole or in part, without restriction of any 
   kind, provided that the above copyright notice and this paragraph are 
   included on all such copies and derivative works. However, this 
   document itself may not be modified in any way, such as by removing 
   the copyright notice or references to the Internet Society or other 
   Internet organizations, except as needed for the purpose of 
   developing Internet standards in which case the procedures for 
   copyrights defined in the Internet Standards process must be 
   followed, or as required to translate it into languages other than 
   English. 
    
   The limited permissions granted above are perpetual and will not be 
   revoked by the Internet Society or its successors or assigns. 
    
   This document and the information contained herein is provided on an 
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." 
    
     


























 
 
Crouzet                  Expires - April 2004                [Page 37]