SSH – the practical solution

Slides:



Advertisements
Similar presentations
Module XXI Cryptography
Advertisements

Cryptography and Network Security Chapter 16
SSH Operation and Techniques - © William Stearns 1 SSH Operation and Techniques The Swiss Army Knife of encryption tools…
Socket Layer Security. In this Presentation: need for web security SSL/TLS transport layer security protocols HTTPS secure shell (SSH)
An Introduction to Secure Sockets Layer (SSL). Overview Types of encryption SSL History Design Goals Protocol Problems Competing Technologies.
BASIC CRYPTOGRAPHY CONCEPT. Secure Socket Layer (SSL)  SSL was first used by Netscape.  To ensure security of data sent through HTTP, LDAP or POP3.
Cryptography and Network Security
Cunsheng Ding HKUST, Hong Kong, CHINA
Telnet/SSH Tim Jansen, Mike Stanislawski. TELNET is short for Terminal Network Enables the establishment of a connection to a remote system, so that the.
SSH : The Secure Shell By Rachana Maheswari CS265 Spring 2003.
Secure Remote Access: SSH. K. Salah 2 What is SSH?  SSH – Secure Shell  SSH is a protocol for secure remote login and other secure network services.
TCP/IP - Security Perspective Upper Layers CS-431 Dick Steflik.
Cs490ns-cotter1 SSH / SSL Supplementary material.
Ssh: secure shell. overview Purpose Protocol specifics Configuration Security considerations Other uses.
SSH Secure Login Connections over the Internet
Telnet/SSH: Connecting to Hosts Internet Technology1.
OpenSSH: A Telnet Replacement Presented by Aaron Grothe Heimdall Linux, Inc.
SYSTEM ADMINISTRATION Chapter 13 Security Protocols.
Secure Socket Layer (SSL)
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003.
Secure Remote Access: SSH. 2 What is SSH?  SSH – Secure Shell  SSH is a protocol for secure remote login and other secure network services over an insecure.
Shell Protocols Elly Bornstein Hiral Patel Pranav Patel Priyank Desai Swar Shah.
SSH and SSL CIT304 University of Sunderland Harry R. Erwin, PhD.
User Authentication By Eric Sita. Message Security Privacy: To expect confidentiality from a sender. Authentication: To be sure of someone's identity.
Behzad Akbari Spring 2012 (These slides are based on lecture slides by Lawrie Brown)
Andreas Steffen, , 11-SSH.pptx 1 Internet Security 1 (IntSi1) Prof. Dr. Andreas Steffen M. Liebi Institute for Internet Technologies and Applications.
1 Section 10.9 Internet Security Association and Key Management Protocol ISAKMP.
Network Security Essentials Chapter 5
CSCE 815 Network Security Lecture 26 SSH and SSH Implementation April 24, 2003.
Tunneling and Securing TCP Services Nathan Green.
1 Security Protocols in the Internet Source: Chapter 31 Data Communications & Networking Forouzan Third Edition.
Secure Shell (SSH) Presented By Scott Duckworth April 19, 2007.
CHAPTER 9 Sniffing.
Data Communications and Networks
1 SSH / SSL Supplementary material. 2 Secure Shell (SSH) One of the primary goals of the ARPANET was remote access Several different connections allowed.
Protocols COM211 Communications and Networks CDA College Olga Pelekanou
SECURE SHELL MONIKA GUPTA COT OUTLINE What is SSH ? What is SSH ? History History Functions of Secure Shell ? Functions of Secure Shell ? Elements.
SSH. 2 SSH – Secure Shell SSH is a cryptographic protocol – Implemented in software originally for remote login applications – One most popular software.
IP Security (IPSec) Matt Hermanson. What is IPSec? It is an extension to the Internet Protocol (IP) suite that creates an encrypted and secure conversation.
Cryptography CSS 329 Lecture 13:SSL.
1 Example security systems n Kerberos n Secure shell.
SSL: Secure Socket Layer By: Mike Weissert. Overview Definition History & Background SSL Assurances SSL Session Problems Attacks & Defenses.
Secure Communications ● Cleartext vs. encryption and encapsulation ● Protocols not to use ● SSH – scp/ftp – SSH tunnelling ● VPN.
1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com SSH Thomas Petazzoni Free.
Network security Presentation AFZAAL AHMAD ABDUL RAZAQ AHMAD SHAKIR MUHAMMD ADNAN WEB SECURITY, THREADS & SSL.
Executive Director and Endowed Chair
Secure services Unit-IV CHAP-1
Virtual Private Networks and IPSec
CSCI 555 Adv Computer Security
Web Applications Security Cryptography 1
Ssh: secure shell.
The Transport Layer Implementation Services Functions Protocols
Tutorial on Creating Certificates SSH Kerberos
Secure Sockets Layer (SSL)
SECURE SHELL MONIKA GUPTA COT 4810.
Module 4 Remote Login.
Tutorial on Creating Certificates SSH Kerberos
Originally by Yu Yang and Lilly Wang Modified by T. A. Yang
Chapter 3: Windows7 Part 4.
SSH – The ‘Secure’ Shell
Telnet/SSH Connecting to Hosts Internet Technology.
SSH: SECURE LOGIN CONNECTIONS OVER THE INTERNET
Cryptography and Network Security
SECURITY IN THE LINUX OPERATING SYSTEM
The Secure Sockets Layer (SSL) Protocol
Chapter 7 Network Applications
Cryptography and Network Security
MESSAGE ACCESS AGENT: POP AND IMAP
Presentation transcript:

SSH – the practical solution Secure Shell protocol and its uses Andre E. Bar’yudin

The problem Connection to remote machines (surprise!) Existing solutions (telnet, rsh, rlogin) What about X? What about file transfer (FTP, HTTP)? 25.02.2019 Andre E. Bar’yudin

SSH – pleased to meet you Designed by and for Unix people Still usable for Windows Emphasis on usability and practical usage A few usage examples Details on http://www.ietf.org/html.charters/secsh-charter.html Versions: 1, 1.5, 2 25.02.2019 Andre E. Bar’yudin

Features Client/server architecture Transparent encryption, compression and integrity preservation of data Encryption algorithms: 3DES, Blowfish, public/private etc., details coming Secure remote console and command execution Secure file transfer 25.02.2019 Andre E. Bar’yudin

Features (cont.) Flexible authentication model TCP/IP port forwarding Prevents IP/DNS spoofing Prevents IP source routing Extensibility – new algorithms can be added, new layers can be defined Multi-language support 25.02.2019 Andre E. Bar’yudin

SSH protocol – details The following layers (protocols) exist: Transport (over TCP/IP or other), data integrity/compression, host authentication User authentication layer Connection layer File transfer protocol (sftp) Authentication agent protocol (ssh-agent) Protocol version, encryption algorithms, authentication schemes are negotiated 25.02.2019 Andre E. Bar’yudin

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 25.02.2019 Andre E. Bar’yudin

Key exchange Negotiation of the encryption algorithms and compression Data flow directions client->server and server->client are independent, may use different algos (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 25.02.2019 Andre E. Bar’yudin

Key exchange (cont.) 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 25.02.2019 Andre E. Bar’yudin

Key exchange (cont.) A server key may include a certificate, signed by a CA, 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 (10.0.0.10)' 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)? It’s usability versus security – the usual key distribution problem 25.02.2019 Andre E. Bar’yudin

Key exchange (cont.) Key exchange gives us a shared secret K, and a hash H (also serves as session id at the start) from which we build: Server IV and client IV 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) 25.02.2019 Andre E. Bar’yudin

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 Connection File transfer and so on Can repeat key exchange at any time 25.02.2019 Andre E. Bar’yudin

Security of the Transport Layer Key distribution – a general problem Hostname-key association Currently only CBC encryption is used – potential attacks using the “birthday paradox” and other techniques The specification recommends key renegotiation every hour or 1G of info “IGNORE” messages to complicate traffic analysis 25.02.2019 Andre E. Bar’yudin

Authentication layer Runs atop of transport layer Relies on data privacy and integrity, provided by it Service ID: “ssh-userauth” Has access to the shared secret session id from transport layer Many authentication methods are available and they are negotiated 25.02.2019 Andre E. Bar’yudin

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 – how it works (UNIX, ssh-agent). The usual key distribution problems Password etc. 25.02.2019 Andre E. Bar’yudin

Security of the authentication layer Assumes that the data transfers are secure and integer Method-specific considerations may apply 25.02.2019 Andre E. Bar’yudin

Connection Layer Runs over the transport layer, utilizes the authentication layer Multiplexes the encrypted tunnel provided by it into several logical channels Provides Interactive sessions Remote command execution X11 forwarding TCP/IP port forwarding 25.02.2019 Andre E. Bar’yudin

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 25.02.2019 Andre E. Bar’yudin

Connection Layer (cont.) While building a channel window size can be negotiated and adjusted A single channel may support different data types (depends on the channel type) Channel-specific requests can be sent (request a PTY in interactive session) A channel can be half-closed or closed 25.02.2019 Andre E. Bar’yudin

Interactive session Remote execution (shell, command or a predefined subsystem – like sftp) With or without TTY With or without X11 forwarding Started by opening a channel of type “session” X11 and PTY are provided upon request (subject to server’s policy) 25.02.2019 Andre E. Bar’yudin

Interactive session (cont.) X11 forwarding has its own channel X11 “cookie” exchanged should be fake, it is replaced by the real one when talking with the local X11 server Environment can be adjusted Stderr, signals, flow control, exit codes are exchanged 25.02.2019 Andre E. Bar’yudin

TCP/IP Port Forwarding Client asks the server to forward it any data, coming to the server on a given port Subject to server’s policy Useful to access services that don’t have built-in security: POP3, IMAP etc. 25.02.2019 Andre E. Bar’yudin

Security of the connection layer The port forwarding Remote command execution – influences the security of the server 25.02.2019 Andre E. Bar’yudin

File Transfer Layer (sftp) Runs on top of Connection Layer Provides file transfer Provides general file system access Driven by commands similar to FTP There’s a Linux module implementing a file system using sftp Security – since it gives access to the file system, can be potentially dangerous 25.02.2019 Andre E. Bar’yudin

Implementations For Unix: open source (utilize OpenSSL) and commercial For Windows: servers commercial, clients: both A free Windows client: http://www.ssh.com 25.02.2019 Andre E. Bar’yudin

Beyond the telnet The traditional usage – secure telnet, FTP A way to do remote automation securely A lot of applications over it: CVS, RSYNC, pretty easy and cheap (via sftp, connect) File systems (part of sftp) The standard allows extensions – more stuff can be added 25.02.2019 Andre E. Bar’yudin

Conclusion – SSH versus SSL A library versus stand-alone application Use similar cryptographic ideas and schemes In real world SSL is much more platform neutral SSH – about 2M of users around the world SSL – almost every computer, e-commerce, MS Messenger etc. 25.02.2019 Andre E. Bar’yudin