Email This Page

MIME and SMIME: Multipurpose Internet Mail Extensions and Secure MIME

MIME, an acronym for Multipurpose Internet Mail Extensions, specifies how messages must be formatted so that they can be exchanged between different email systems. MIME is a very flexible format, permitting one to include virtually any type of file or document in an email message. MIME messages can contain text, images, audio, video, or other application-specific data. Specifically, MIME allows mail messages to contain:

  • Multiple objects in a single message.
  • Text having unlimited line length or overall length.
  • Character sets other than ASCII, allowing non-English language messages.
  • Multi-font messages.
  • Binary or application specific files.
  • Images, Audio, Video and multi-media messages.

A MIME multipart message contains a boundary in the Content-type: header; this boundary, which must not occur in any of the parts, is placed between the parts, and at the beginning and end of the body of the message.

A secure version of MIME, S/MIME (Secure/Multipurpose Internet Mail Extensions), is defined to support encryption of email messages. Based on the MIME standard, S/MIME provides the following cryptographic security services for electronic messaging applications: authentication, message integrity and non-repudiation of origin and privacy and data security.

S/MIME can be used by traditional mail user agents (MUAs) to add cryptographic security services to mail that is sent, and to interpret cryptographic security services in mail that is received. However, S/MIME is not restricted to mail; it can be used with any transport mechanism that transports MIME data, such as HTTP. As such, S/MIME takes advantage of the object-based features of MIME and allows secure messages to be exchanged in mixed-transport systems. 

Further, S/MIME can be used in automated message transfer agents that use cryptographic security services that do not require any human intervention, such as the signing of software-generated documents and the encryption of FAX messages sent over the Internet.



Protocol Structure - MIME and S/MIME: Multipurpose Internet Mail Extensions and Secure MINE

Definition of MIME header fields is as follows:

 entity-headers := [ content CRLF ]

 [ encoding CRLF ]

 [ id CRLF ]

 [ description CRLF ]

 *( MIME-extension-field CRLF )

 MIME-message-headers := entity-headers

 fields

 version CRLF

 ; The ordering of the header

 ; fields implied by this BNF

 ; definition should be ignored.

 MIME-part-headers := entity-headers

 [ fields ]

 ; Any field not beginning with

 ; "content-" can have no defined

 ; meaning and may be ignored.

 ; The ordering of the header

 ; fields implied by this BNF

 ; definition should be ignored.

The message format, procedure of S/MIME can be found in the reference documents.    

Related Protocols
SMTP , POP3

Sponsor Source

MIME is defined by IETF (www.ietf.org ) in RFC 2045, 2046, 2047, 2048, 2049. S/MIME version 3 is defined in RFC 2632, 2633 etc.



Reference

http://www.javvin.com/protocol/rfc2045.pdf : Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies
http://www.javvin.com/protocol/rfc2046.pdf : Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types
http://www.javvin.com/protocol/rfc2047.pdf :MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text
http://www.javvin.com/protocol/rfc2048.pdf : Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures. 
http://www.javvin.com/protocol/rfc2049.pdf : Multipurpose Internet Mail Extensions 
http://www.javvin.com/protocol/rfc2632.pdf : S/MIME Version 3 Certificate Handling  
http://www.javvin.com/protocol/rfc2633.pdf : S/MIME Version 3 Message Specification