S/MIME
S/MIME
(Secure/Multipurpose Internet Mail Extension) is a security enhancement to the
MIME Internet e-mail format standard, based on technology from RSA Data
Security. S/MIME is defined in a number of documents, most importantly RFCs
3369, 3370, 3850 and 3851.
1. Multipurpose Internet Mail
Extensions
MIME is
an extension to the RFC 822 framework that is intended to address some of the
problems and limitations of the use of SMTP (Simple Mail Transfer Protocol) or
some other mail transfer protocol and RFC 822 for electronic mail. Following
are the limitations of SMTP/822 scheme:
1. SMTP
cannot transmit executable files or other binary objects.
2. SMTP
cannot transmit text data that includes national language characters because
these are represented by 8-bit codes with values of 128 decimal or higher, and
SMTP is limited to 7-bit ASCII.
3. SMTP
servers may reject mail message over a certain size.
4. SMTP
gateways that translate between ASCII and the character code EBCDIC do not use
a consistent set of mappings, resulting in translation problems.
5. SMTP
gateways to X.400 electronic mail networks cannot handle nontextual data
included in X.400 messages.
6. Some SMTP
implementations do not adhere completely to the SMTP standards defined in RFC
821. Common problems include:
o
Deletion, addition, or reordering of carriage
return and linefeed
o
Truncating or wrapping lines longer than 76
characters
o
Removal of trailing white space (tab and space
characters)
o
Padding of lines in a message to the same length
o
Conversion of tab characters into multiple space
characters
MIME is
intended to resolve these problems in a manner that is compatible with existing
RFC 822 implementations. The specification is provided in RFCs 2045 through
2049.
2. Overview
The MIME
specification includes the following elements:
1. Five new message header fields
are defined, which may be included in an RFC 822 header. These fields provide information about the body of the message.
2. A number of content formats are
defined, thus standardizing representations that support multimedia electronic mail.
3. Transfer encodings are
defined that enable the conversion of any content format into a form that is protected from alteration
by the mail system.
In this
subsection, we introduce the five message header fields. The next two
subsections deal with
content
formats and transfer encodings.
3. The five header fields defined
in MIME are as follows:
o
MIME-Version: Must
have the parameter value 1.0. This field indicates that the message conforms to RFCs 2045 and 2046.
o
Content-Type:
Describes the data contained in the body with sufficient detail
o
Content-Transfer-Encoding:
Indicates the type of transformation that has been used to represent the body of the message in a way that is acceptable for
mail transport.
o
Content-ID:
Used to
identify MIME entities uniquely in multiple contexts.
o
Content-Description: A text
description of the object with the body; this is useful when the object is not readable (e.g., audio
data).
4. MIME Content Types
The bulk
of the MIME specification is concerned with the definition of a variety of
content types. This reflects the need to provide standardized ways of dealing
with a wide variety of information representations in a multimedia environment.
Below
lists the content types specified in RFC 2046. There are seven different major
types of content and a total of 15 subtypes
For the
text type of body, no special software is required to get the full meaning of
the text, aside from support of the indicated character set. The primary
subtype is plain text, which is simply a string of ASCII characters or ISO 8859
characters. The enriched subtype allows greater formatting flexibility. The
multipart type indicates that the body contains multiple, independent parts.
The Content-Type header field includes a parameter, called boundary, that
defines the delimiter between body parts.
The
multipart/digest subtype is used when each of the body parts is interpreted as
an RFC 822 message with headers. This subtype enables the construction of a
message whose parts are individual messages. For example, the moderator of a
group might collect e-mail messages from participants, bundle these messages,
and send them out in one encapsulating MIME message.
The
message type provides a number of important capabilities in MIME. The
message/rfc822 subtype indicates that the body is an entire message, including
header and body. Despite the name of this subtype, the encapsulated message may
be not only a simple RFC 822 message, but also any MIME message.
The
message/partial subtype enables fragmentation of a large message into a number
of parts, which must be reassembled at the destination. For this subtype, three
parameters are specified in the Content-Type: Message/Partial field: an id
common to all fragments of the same message, a sequence number unique to each
fragment, and the total number of fragments.
The
message/external-body subtype indicates that the actual data to be conveyed in
this message are not contained in the body. Instead, the body contains the
information needed to access the data. As with the other message types, the
message/external-body subtype has an outer header and an encapsulated message
with its own header. The only necessary field in the outer header is the
Content-Type field, which identifies this as a message/external-body subtype.
The inner header is the message header for the encapsulated message. The
Content-Type field in the outer header must include an access-type parameter,
which indicates the method of access, such as FTP (file transfer protocol).
The
application type refers to other kinds of data, typically either uninterpreted
binary data or information to be processed by a mail-based application.
5. MIME Transfer Encodings
The other
major component of the MIME specification, in addition to content type
specification, is a definition of transfer encodings for message bodies. The
objective is to provide reliable delivery across the largest range of
environments.
The MIME
standard defines two methods of encoding data. The Content-Transfer-Encoding
field can actually take on six values. For SMTP transfer, it is safe to use the
7bit form. The 8bit and binary forms may be usable in other mai transport
contexts. Another Content-Transfer-Encoding value is x-token, which indicates
that some other encoding scheme is used, for which a name is to be supplied.
The two actual encoding schemes defined are quoted-printable and base64.
The
quoted-printable transfer encoding is useful when the data consists largely of
octets that correspond to printable ASCII characters. In essence, it represents
nonsafe characters by the hexadecimal representation of their code and
introduces reversible (soft) line breaks to limit message lines to 76
characters.
The
base64 transfer encoding, also known as radix-64 encoding, is a common one for
encoding arbitrary binary data in such a way as to be invulnerable to the
processing by mail transport programs.
Canonical
Form
An
important concept in MIME and S/MIME is that of canonical form. Canonical form
is a format, appropriate to the content type, that is standardized for use
between systems. This is in contrast to native form, which is a format that may
be peculiar to a particular system.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.