Download presentation
1
Cunsheng Ding HKUST, Hong Kong, CHINA
S/MIME and SSH Cunsheng Ding HKUST, Hong Kong, CHINA C. Ding - COMP364 - L27
2
Secure MIME C. Ding - COMP364 - L27
3
Simple Mail Transfer Protocol (SMTP)
Documented in RFC 821. Internet's standard host-to-host mail transport protocol and traditionally operates over TCP, port 25. SMTP uses a style of asymmetric request-response protocol popular in the early 1980s, and still seen occasionally, most often in mail protocols. SMTP is limited to text with hard line breaks. C. Ding - COMP364 - L27
4
MIME Multipurpose Internet Mail Extensions (MIME) is an official Internet standard that specifies how messages must be formatted so that they can be exchanged between different systems. MIME is a very flexible format, permitting one to include virtually any type of file or document in an message. C. Ding - COMP364 - L27
5
MIME MIME uses these RFC 822 headers Allows you to send Content-Type
Content-Transfer-Encoding Allows you to send formatted text non-English character sets images, sounds, video and HTML C. Ding - COMP364 - L27
6
MIME Entities Basic unit of any MIME message Content-Type
defines the type of object being sent allows for multi-part messages Transfer-Encoding allows non-ASCII data to be set through mail especially for image objects C. Ding - COMP364 - L27
7
A Very Simple MIME Message
From: Hodapp, Phil To: McFadden, Mark Subject: Examples of MIME Messages Content-Type: text/plain Would you kindly make an effort to insure that your explanations are in English and not in that other language you occasionally drift into? Many Thanks. -Phil Message Header Message Body C. Ding - COMP364 - L27
8
Typical MIME Content Types
text text/plain text/richtext message message/rfc822 image image/jpeg image/gif video video/mpeg application application/postscript application/octet-stream multipart multipart/mixed multipart/alternative C. Ding - COMP364 - L27
9
Major Content Types Text Image Audio Video Message Multipart
legible text Image pictures and graphics Audio sound Video moving pictures Message messages or pieces of messages Multipart several different kinds of data in a single message Application “everything else” C. Ding - COMP364 - L27
10
What’s S/MIME Secure MIME A way to send and receive secure MIME data
Based on MIME Very likely an Internet standard C. Ding - COMP364 - L27
11
Services Provided by S/MIME
Authentication Message Integrity Non-repudiation of origin data confidentiality C. Ding - COMP364 - L27
12
How Does S/MIME Work? Uses encryption
both symmetric and public key strategies Symmetric key is transmitted with the message Shared secret is encoded using public key of the recipient Uses digital signatures to protect against tampering and forgery C. Ding - COMP364 - L27
13
S/MIME Overview Message Public key Header MIME Part Secret key
Encryption MIME Part Secret key Message Encryption Encrypted Message MIME Part Hash Function Private key Message Digest Signing Digital Signature MIME Part C. Ding - COMP364 - L27
14
Managing S/MIME Keys Keys for S/MIME require a PKI or directory service Applications using S/MIME can use a directory, key server or CA to get the public key of a recipient Recipients use the same mechanisms C. Ding - COMP364 - L27
15
S/MIME in the Marketplace
Interoperability problems S/MIME is widely supported (Outlook, Outlook Express, Navigator, Eudora) Standardization is helping Continued dependence on effective public key infrastructure S/MIME is designed to use X.509 certificates C. Ding - COMP364 - L27
16
S/MIME Versions Version 2 Version 3 widely implemented but limited
40-bit keys (the RC2 algorithm) RSA-patented symmetric algorithms Version 3 currently in IETF draft uses Diffie-Hellman instead of RSA technology support for strong encryption C. Ding - COMP364 - L27
17
In Summary S/MIME is simply secure messaging using MIME formats
Uses both public key and symmetric encryption Interoperability is still a problem Dependent upon certificate management C. Ding - COMP364 - L27
18
The Secure Shell (SSH) C. Ding - COMP364 - L27
19
Risks in Existing Access Mechanisms
Authentication based on IP address Authentication based on reusable passwords Data travels in the clear format X protocols vulnerable to attack Intermediate hosts can hijack sessions C. Ding - COMP364 - L27
20
The Secure Shell Protocol
SSH provides secure replacements for rsh, rlogin, rcp, ftp, and telnet, all of which transmit data over the network as clear text The SSH protocol was developed in 1995 to address the various security issues associated with the "r-commands" Developed by Tatu Ylönen, a researcher at the Helsinki University of Technology Motivated by a password-sniffing attack on the university network C. Ding - COMP364 - L27
21
The SSH Architecture SSH protocol is based on a client/server architecture A user who wants to connect to a remote host will execute the ssh command (the client) on his local machine It will connect to the remote computer's ssh daemon (the server) There are two primary versions of the SSH protocol SSH-1 SSH-2 C. Ding - COMP364 - L27
22
SSH Protocol – details The following layers (protocols) exist:
Transport layer (over TCP/IP or other): Server authentication, data confidentiality, data integrity, compression (optional) User authentication layer Connection layer multiplexes the secure tunnel provided by the Transport layer and user authentication layer into several logical channels. These logical channels can be used for a wide range of purposes: secure interactive shell sessions, TCP port forwarding, carrying X11 connections C. Ding - COMP364 - L27
23
SSH Transport Layer C. Ding - COMP364 - L27
24
SSH Transport layer Works over TCP/IP or other reliable protocol
Initiated by the client Initialization Sides exchange a message in the form “SSH-protoversion-softwareversion comments” “protoversion” determines what version of the protocol will be used. We will concentrate on version 2.0 C. Ding - COMP364 - L27
25
SSH Transport layer Negotiation of the encryption and hash algorithms and compression Data flow directions client->server and server->client are independent, may use different algorithms (i.e. 3DES+SHA1 and Blowfish+MD5) If compression is enabled, the data is first compressed and only then encrypted Exchange lists of supported algorithms C. Ding - COMP364 - L27
26
Transport Layer: key exchange
In particular, server gives the list of available host key algorithms: Diffie-Hellman, RSA etc. There are certain issues with DH, so RSA is recommended Determine an algorithm/key acceptable for both parties – first algo listed by each side is regarded as the preferred by it The actual key exchange C. Ding - COMP364 - L27
27
Key Exchange (cont.) A server may include a digital certificate, signed by a CA that is known to the client Client may have a public key of the server (based on server’s host name) In neither case – what do we do? The authenticity of host ‘gw ( )' can't be established. RSA key fingerprint is 81:f5:da:26:77:31:fc:51:64:3f:97:ec:d7:e9:97:ab. Are you sure you want to continue connecting (yes/no)? C. Ding - COMP364 - L27
28
Key exchange (cont.) Key exchange gives a shared secret K, and a hash H (also serves as session id at the start) from which we compute: Server IV and client IV (for CBC encrypt.) Encryption keys C->S and S->C Signature (integrity) keys C->S and S->C From here on every message exchanged should be encrypted/signed by an appropriate key (MAC signatures) C. Ding - COMP364 - L27
29
Key Exchange (done) After the key exchange:
client requests a service; server satisfies it or rejects. Services are defined as higher-level protocols on top of transport layer: User authentication protocol Connection protocol File transfer and so on C. Ding - COMP364 - L27
30
User Authentication Layer
C. Ding - COMP364 - L27
31
User Authentication Layer
Runs atop of transport layer Relies on data privacy and integrity, provided by the transport layer Service ID: “ssh-userauth” Has access to the shared secret session id from transport layer Many authentication methods are available and they are negotiated C. Ding - COMP364 - L27
32
Authentication Layer (cont.)
Client requests service “ssh-userauth” Server responds with the list of available authentication methods. More than one authentication may be required Methods: Public key Password hostbased C. Ding - COMP364 - L27
33
SSH Connection Layer C. Ding - COMP364 - L27
34
SSH Connection Layer Runs over the transport layer, utilizes the authentication layer Multiplexes the encrypted tunnel provided by the transport layer into several logical channels Provides Interactive sessions Remote command execution X11 forwarding TCP/IP port forwarding C. Ding - COMP364 - L27
35
SSH Connection Layer (cont.)
Channels – can be opened by either side To open a new channel Allocate a channel number Send a request to the other side, giving channel type The other side either rejects or accepts and returns its channel number Therefore a channel is identified by two numbers C. Ding - COMP364 - L27
36
File Transfer Protocol (sftp)
C. Ding - COMP364 - L27
37
File Transfer Protocol (sftp)
Runs on top of Connection Layer Provides file transfer Provides general file system access Driven by commands similar to FTP C. Ding - COMP364 - L27
38
Implementations For Unix: open source (utilize OpenSSL) and commercial
For Windows: servers commercial, clients: both A free Windows client: C. Ding - COMP364 - L27
39
Appendix A For S/MIME C. Ding - COMP364 - L27
40
C. Ding - COMP364 - L27
41
C. Ding - COMP364 - L27
42
C. Ding - COMP364 - L27
43
C. Ding - COMP364 - L27
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.