1 / 54

S/MIME

S/MIME. After the development of PEM industry working group led by RSA Security, Inc. started to develop another specification for conveying digitally signed and/or encrypted and digitally enveloped data in accordance to the MIME message formats.

mlynn
Télécharger la présentation

S/MIME

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. S/MIME P.Suresh Babu, AP, Dept of IT

  2. After the development of PEM industry working group led by RSA Security, Inc. started to develop another specification for conveying digitally signed and/or encrypted and digitally enveloped data in accordance to the MIME message formats. S/MIME (Secure/Multipurpose Internet Mail Extension) is a security enhancement to the MIME Internet e-mail format standard. S/MIME is not restricted to mail; it can be used with any transport mechanism that transports MIME data, such as HTTP. S/MIME is likely to emerge as the industry standard for commercial and organizational use, while PGP will remain the choice for personal e-mail security for many. S/MIME - Overview P.Suresh Babu, AP, Dept of IT

  3. S/MIME provides the following cryptography security services: Authentication. Message Integrity. By using digital signing Non-repudiation of origin. Privacy and data security. By using encryption There are three versions of S/MIME: S/MIME version 1 (1995)- was specified and officially published in 1995 by RSA Security, Inc. S/MIME version 2 (1998)- was specified in a pair of informational RFC documents - RFC 2311 and RFC 2312 - in March1998. The work was continued in the IETF S/MIME Mail Security (SMIME) WG and resulted in S/MIME version 3 (1999) specified in RFCs 2630 to 2634 in June 1999. S/MIME - Overview P.Suresh Babu, AP, Dept of IT

  4. MIME - Overview • RFC 822 defines a format for text messages that are sent using electronic mail. SMTP/RFC822 scheme limitations: • SMTP cannot transmit executable files or other binary files. • 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. • SMTP servers may reject mail message over a certain size. • SMTP gateways that translate between ASCII to EBCDIC suffer translation problems. • Some SMTP implementations do not adhere completely to the SMTP standard defined in RFC 822. P.Suresh Babu, AP, Dept of IT

  5. MIME specification includes the following elements: Five new message header fields. These fields provide information about the body of the message. A number of content formats are defined, thus standardizing representations that supports multimedia e-mail. Transfer encodings are defined that enable that protect any content format to be altered by the mail system. MIME provides a standardized way of dealing with a wide variety of information representations in a multimedia environment. MIME (contd.) P.Suresh Babu, AP, Dept of IT

  6. Type Subtype Description Text Plain Enriched Unformatted text (ASCII or ISO 8859). Provides greater format flexibility. Multipart Mixed Parallel Alternative Digest The different parts are independent but are to be transmitted together. Should be presented to the receiver in their original order. Differs from mixed only in that no order is defined. The different parts are alternative versions of the same information. Similar to Mixed but the default type/subtype of each part is message/rfc822. Message rfc822 Partial External body The body is itself an encapsulated message that conforms to RFC822. Used to allow fragmentation in a transparent way to the recipient. Contains a pointer to an object exists else where. MIME (contd.) Here is a summary of the different MIME content types: P.Suresh Babu, AP, Dept of IT

  7. Type Subtype Description Image Jpeg gif The image is in JPEG format. The image is in GIF format. Video Mpeg MPEG format. Audio Basic Single-channel 8-bit ISDN mu-law encoding at a sample rate of 8kHz Application Postscript Octet-stream Adobe Postscirpt. General binary data consisting of 8-bit bytes. MIME (contd.) P.Suresh Babu, AP, Dept of IT

  8. Encoding Description 7bit The data are all represented by short lines of ASCII chars. 8bit The lines are short, but there may be non-ASCII chars. Binary Not only may non-ASCII chars be presented but lines are not necessarily short enough for SMTP transport. Quoted-printable Encodes the data in such a way that if the data being encoded are mostly ASCII text, the encoded form of the data remains largely recognizable by humans. Base64 Encodes data by mapping 6-bit blocks to 8-bit printable ASCII characters blocks. x-token A nonstandard encoding. MIME (contd.) • The other major component of MIME is a definition of transfer encodings for message contents: P.Suresh Babu, AP, Dept of IT

  9. MIME (contd.) • Canonical form is a format that is standardized for use between systems. • Conclusions: • MIME is a necessity in today’s Internet and e-mail traffic requirements. • The “Object Oriented” structure of the MIME message enhances its capability to serve as multipurpose standard. • The MIME is capable of transferring data between two distinct systems which uses different formats P.Suresh Babu, AP, Dept of IT

  10. S/MIME - Functions • S/MIME is based on the Cryptographic Message Syntax (CMS) specified in RFC 2630. • Enveloped data: This consists of encrypted content of any type and encrypted content encryption keys for one or more users. This functions provides privacy and data security. • Signed data: A digital signature is formed by signing the message digest and then encrypting that with the signer private key. The content and the signature are then encoded using base64 encoding. This function provides authenticity, message integrity and non-repudiation of origin. P.Suresh Babu, AP, Dept of IT

  11. S/MIME - Functions • SignerInfo: allows the inclusion of unsigned and signed attributes to be included along with a signature. • signingTime • sMIMECapabilities • sMIMEEncryptionKeyPreference P.Suresh Babu, AP, Dept of IT

  12. S/MIME - Functions • Clear signed data: In this case a digital signature of the content is formed, However only the signature is encoded with base64. • Signed and enveloped data: Because of S/MIME encapsulating capability (multipart type), signed only and encrypted only entities may be nested, so that encrypted data may be signed and signed data may be encrypted. P.Suresh Babu, AP, Dept of IT

  13. S/MIME - Cryptography Definitions: MUST: The definition is an absolute requirement of the specification. SHOULD: There may exist valid reasons in particular circumstances to ignore this feature or function, but it is recommended that an implementation include the feature or function. Be liberal in what you receive and conservative in what you send. P.Suresh Babu, AP, Dept of IT

  14. Function Requirement Creation of a message digest. MUST support SHA-1. SHOULD use sha-1. Receiving agents SHOULD support MD5 for the purpose of providing backward compatibility with S/MIME v2. A message digest encryption to form a digital signature. Both sending and receiving agents MUST support DSS. Receiving agents SHOULD support verification of RSA signatures with key sizes 512 bits to 1024 bits. Note that S/MIME v2 clients are only capable of verifying digital signatures using RSA. S/MIME - Cryptography Used Algorithms: P.Suresh Babu, AP, Dept of IT

  15. Function Requirement A session key encryption for transmission with the message. Both sending and receiving agents MUST support Diffie-Hellman. Sending agents SHOULD support RSA encryption with key sizes 512 to 1024 bits. Receiving agents SHOULD support RSA decryption. A message Encryption for transmission with one-time session key. Sending an receiving agent MUST support Encryption/Decryption with 3DES. Receiving agents SHOULD support decryption with RC2/40. (S/MIME V 2. - Sending agents SHOULD support RSA encryption with 3DES and RC2/40. Receiving agents MUST support decryption with RC2/40.) S/MIME - Cryptography P.Suresh Babu, AP, Dept of IT

  16. S/MIME - Cryptography Algorithm use decision procedure: • Preferred decrypting capabilities: SHOULD choose the first (highest preference) capability on the list. • No list of capabilities but has received message/s: SHOULD use the same encryption algorithm as was used on the last signed and encrypted message. • No knowledge & Willing to risk: willing to risk that the recipient may not be able to decrypt the message, then the sending agent SHOULD use 3DES. • No knowledge & Not willing to risk: sending agent MUST use RC2/40. P.Suresh Babu, AP, Dept of IT

  17. S/MIME - Cryptography • A possible problem: A multiple recipients message: • Performance • Security • The Solution: This problem is solved using an Enhanced Security service called S/MIME Mail List Agent (MLA). An MLA perform the recipient-specific encryption for each recipient, and forward the message. P.Suresh Babu, AP, Dept of IT

  18. S/MIME - Message • S/MIME makes use of a number of new MIME content types: P.Suresh Babu, AP, Dept of IT

  19. Recipient’s public key Diffie-Hellman / RSA Encrypt the session key Pseudorandom session key (3DES or RC2/40)ׁׁ M Certificate RecipientInfo enveloped-data + S/MIME - Message Enveloped Data: P.Suresh Babu, AP, Dept of IT

  20. SignedData: Sender’s private key Hash function SHA-1 or MD5 Encryption M Certificate SignerInfo Base64 encoding S/MIME - Message P.Suresh Babu, AP, Dept of IT

  21. Clear signing: Clear signing is achieved using the multipart content type with a signed sub-type . Two parts: Clear text (or any MIME type) encoded in base64. SignedData. S/MIME - Message P.Suresh Babu, AP, Dept of IT

  22. S/MIME - Message Content-Type: multipart/signed; protocol=“application/pkcs7-signature”; micalg=sha1; boundary=boundary42 --boundary42 Content-Type: text/plain This is a clear-signed message. --boundary42 Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=smime.p7s ghyHhHUujhJhjH77n8HHGTrfvbnj756tbB9HG4VQpfyF467GhIGfHfYT6 4VQpfyF467GhIGfHfYT6jH77n8HHGghyHhHUujhJh756tbB9HGTrfvbnj n8HHGTrfvhJhjH776tbB9HG4VQbnj7567GhIGfHfYT6ghyHhHUujpfyF4 --boundary42-- This parameter indicates that this is a two part clear-signed entity. This parameter indicates the type of message digest used. Unsigned Data SignerInfo Header P.Suresh Babu, AP, Dept of IT

  23. Certificate-only message: Used to transport certificates. contains only certificates or a certificate revocation list (CRL). Sent in response to a registration request. The message is an application/pkcs7-mime type/subtype. S/MIME - Message P.Suresh Babu, AP, Dept of IT

  24. Creating a Certificates-only Message: Step 1: The certificates are made available to the CMS generating process which creates a CMS object of type signedData. Step 2: The CMS signedData object is enclosed in an application/pkcs7-mime MIME entity. The smime-type parameter for a certs-only message is "certs-only". The file extension for this type of message is ".p7c". S/MIME - Message P.Suresh Babu, AP, Dept of IT

  25. Registration request: A message signer MUST have a certificate for the signature so that the receiving agent can verify the signature. Exchange with CA, hardware token, diskette etc. S/MIME v3- does not specify how to request a certification. S/MIME v2- request by applying to a CA using the application/pkcs10 S/MIME entity. A typical app. Only needs to send certification request. S/MIME - Message P.Suresh Babu, AP, Dept of IT

  26. Registration request: Subject’s name Public-key in bit-string representation 010111010011… + ? Public-key ID CertificationRequestInfo PKCS10 CA User’s private key S/MIME - Message P.Suresh Babu, AP, Dept of IT

  27. S/MIME uses public-key certificates that conform to version 3 of X.509. A hybrid between a strict X.509 certification hierarchy and PGP's web of trust. A receiving agent MUST provide some certificate retrieval mechanism. Receiving and sending agents SHOULD also provide a mechanism to allow a user to "store and protect" certificates S/MIME - Certificates P.Suresh Babu, AP, Dept of IT

  28. S/MIME - Certificates • Public key certificates are required to protect the authenticity and integrity of public keys, thus protecting against man-in-the-middle attack. • A certificate chain must be verified until a root CA is reached P.Suresh Babu, AP, Dept of IT

  29. S/MIME - Certificates • a certificate can only be trusted if: • every certificate in the chain is successfully verified. • every CA in the certificate chain is trusted. • In practice, certificate chains are short and seldom verified for trustworthiness. • Also, the concept of cross-certification is of low practical value and seldom used between certification service providers. P.Suresh Babu, AP, Dept of IT

  30. S/MIME - Certificates P.Suresh Babu, AP, Dept of IT

  31. Key generation: MUST be capable of generating separate Diffie-Hellman and DSS key pairs. SHOULD be capable of generating RSA key pairs. good source of non-deterministic random. protected in a secure fashion. Registration: A user's public key must be registered with a certification authority in order to receive an X.509 public-key certificate. S/MIME- User role P.Suresh Babu, AP, Dept of IT

  32. S/MIME- User role • Certificate storage and retrieval: • access to a local list of certificates in order to verify incoming signatures and encrypt outgoing messages. • maintained by the user local administrative entity on behalf of number of users. P.Suresh Babu, AP, Dept of IT

  33. Certificate Management in S/MIME: CA-centered. CA certificates come with the client software. An ordinary user is not aware of the CAs that he/she trusts. Certificates are sent along with the signed messages. S-MIME -Attacks P.Suresh Babu, AP, Dept of IT

  34. Certificates classes (common practice by most CAs) – Class 1 – Class 2 – Class 3 CA certification policies –ID-control practices • Class 1: only email address • Class 2: against third party database • Class 3: apply in person and submit picture IDs and/or hard documentation How to determine user – by name? – by e-mail address? S-MIME -Attacks Tighter identity validation Easier to issue P.Suresh Babu, AP, Dept of IT

  35. S-MIME -Attacks Attack 1: Class 1 Certificate Attack • No identity check during registration. • Binding between public key and e-mail address. • It is possible to enroll under a different name. • Name spoofing is possible in signed messages • E-mail clients do not make this fact explicit to average users. P.Suresh Babu, AP, Dept of IT

  36. Attack 1: Class 1 Certificate Attack • Step 1: Get an e-mail address that implies the person you want to imitate. • Step 2: Register for a certificate with that bogus name and e-mail address. • Step 3: Step up an outgoing e-mail account at your favorite e-mail client software with that bogus name. • Step 4: Send bogus signed messages S-MIME -Attacks P.Suresh Babu, AP, Dept of IT

  37. S/MIME- AttacksStep 2- Registration P.Suresh Babu, AP, Dept of IT

  38. S/MIME- Attacks P.Suresh Babu, AP, Dept of IT

  39. S/MIME- Attacks P.Suresh Babu, AP, Dept of IT

  40. S/MIME- Attacks shlomo@hotmail.com P.Suresh Babu, AP, Dept of IT

  41. S/MIME- Attacks P.Suresh Babu, AP, Dept of IT

  42. S/MIME-Attacks P.Suresh Babu, AP, Dept of IT

  43. S/MIME-AttacksStep 3 – Setup local account P.Suresh Babu, AP, Dept of IT

  44. S/MIME-AttacksStep 4 – Send signed but bogus msgs. P.Suresh Babu, AP, Dept of IT

  45. Consequences: Loose control for Class 1 certificates. The system becomes less secure for the name of security. S/MIME-Attacks P.Suresh Babu, AP, Dept of IT

  46. Attack 2: Use one’s certificate to send emails under another name. • Step 1: Set up another e-mail account at local client. – Same e-mail address – But a different name • Step 2: Send bogus signed messages S/MIME-Attacks P.Suresh Babu, AP, Dept of IT

  47. S/MIME- AttacksStep 1- setup another account P.Suresh Babu, AP, Dept of IT

  48. S/MIME- AttacksStep 2- Send bogus signed msg. P.Suresh Babu, AP, Dept of IT

  49. Consequences: During verification, e-mail client does not match the name in certificate with the name in e-mail. –Only e-mail addresses are matched (as mentioned in RFC 2632 (S/MIME Certificate Handling). Verifier’s manual check is needed. Not a specific problem of class-1 certificates -Same attack is possible using class-2 and class-3 certificates. -E-mail clients are not concerned with certificate classes. S/MIME-Attacks P.Suresh Babu, AP, Dept of IT

  50. S/MIME-Attacks Attack 3: Forging the header • The scope of a S/MIME signature does not include the e-mail header. – from, to, cc, subject, date • Indeed, the mail header is modified without changing the verification status. • Problem of all classes of certificates. P.Suresh Babu, AP, Dept of IT

More Related