2. One of the primary goals of the ARPANET was remote
access
Several different connections allowed
rlogin
rcp
rsh
All data was unencrypted
This was a different world than exists today.
2
Secure Shell
September 15, 2014
3. SSH is a UNIX-based command interface and
protocol for securely accessing a remote computer
Suite of four utilities—slogin, ssh, sftp, and scp
Can protect against:
IP spoofing
DNS spoofing
Intercepting information
Sniffing
Tunneling
3
Secure Shell
Contd.
September 15, 2014
4. SSH
Objectives
Protect data sent over the network
Negotiate an encryption algorithm between sender
and receiver
Use that algorithm and a session key to encrypt /
decrypt data sent
Provide site authentication
Use public key / fingerprint to ensure identity of
remote host.
Relies on locally generated keys, so no certifying
authority is generally available.
September 15, 2014 4
10. 10
SSH Client SSH Server
SSH2?
SSH2
Diffie-Helman, etc?
Diffie-Helman
SSL secure Send Serv_Pub_Key
communication
Serv_Pub_key(S_key)
OK
S_key(Uname,pwd)
OK
S_key(data)
September 15, 2014
12. Problems with Password Authentication
Passwords can be guessed.
Default allows multiple attempts against account
Only 1 account / password needs to be guessed
Alternate approach is to use public / private keys
to authenticate user
Public Key Authentication
Create public / private keypair
Ensure that private
Upload public key to server user account:
~.ssh/authorized_keys
ssh –o PreferredAuthentications=publickey
server.example.org
SSH
Communications
using public
key
September 15, 2014
13. SSH Client SSH Server
SSH2?
SSH2
Diffie-Helman, etc?
Diffie-Helman
Serv_Pub_key(S_key)
OK
S_key(Uname)
OK
S_key(data)
Send Serv_Pub_Key
Client_Pub_key(Random)
Client_Pri_key(msg)
Hash(Random)
SSH
Communications
using public
key
September 15, 2014
17. SSH
Tunneling
Use SSH to create an encrypted channel between remote
host and server
Use that encrypted channel to carry other traffic.
September 15, 2014 17
19. SSL/TLS
Security
Depends on integrity of public key certificate
Public Key Infrastructure (PKI)
Components necessary to securely distribute public
keys
Certificate Authorities: Organizations that certify
the relationship between a public key and its owner.
Verisign,Thawte
September 15, 2014 19
20. SSL/TLS
Vulnerability
SSL/TLS supports the concept of session
renegotiation due to errors, requests,
etc.
This feature assumes that the
renegotiation is with the original party,
and any requests or messages
transmitted before the renegotiation are
combined (pre-pended) with the
requests after renegotiation
This behavior can be abused to allow
man-in-the-middle attacks
Demonstrated with https, but the
vulnerability exists with any application
that uses SSL/TLS
September 15, 2014