SSL (Secure Sockets Layer) / TLS (its modern version) and SSH (Secure Shell)

SSL (Secure Sockets Layer) / TLS (its modern version)

  1. Purpose: Secures data transfer between client and web server.
  2. Used in: HTTPS, email (SMTP over SSL), FTPS, APIs.
  3. Encryption Type: Symmetric encryption for data, asymmetric for key exchange.
  4. Authentication: Validates the identity of the website/server using SSL certificates.
  5. Certificate Authority (CA): Certificates are issued by trusted CAs.
  6. Key Exchange: Uses protocols like RSA, ECDHE, etc.
  7. Data Integrity: Ensures data hasn’t been altered during transmission (via MAC).
  8. Visible in browser: Lock icon in address bar (https://)
  9. Vulnerabilities (if outdated): SSL v2/v3 are deprecated due to security flaws.
  10. Latest Standard: TLS 1.3 (SSL is now obsolete, but term is still widely used).
  11. Client Interaction: Used without user action (just visiting a site).
  12. Setup: Requires certificate installation on the web server.
  13. Tools: OpenSSL, Let’s Encrypt, Certbot.
  14. Common Protocols: HTTPS, FTPS, SMTPS.

SSH (Secure Shell)

  1. Purpose: Securely access and manage servers remotely.
  2. Used in: Server login, Git over SSH, file transfer (SCP, SFTP).
  3. Encryption Type: Symmetric and asymmetric encryption (e.g., RSA, ED25519).
  4. Authentication: Via passwords or key pairs (public/private).
  5. No certificate authority required: Uses individual key pairs.
  6. User Interaction: Requires credentials or private key to access.
  7. Secure Features: Port forwarding, tunneling, command execution.
  8. Shell Access: Gives full terminal/command-line access to server.
  9. Popular Clients: PuTTY (Windows), Terminal/ssh (Linux/Mac), VS Code SSH extension.
  10. Vulnerabilities: Brute-force attacks (if passwords are weak), key theft.
  11. File Transfers: Supports SFTP (Secure FTP) and SCP.
  12. Tunneling: Can tunnel ports for secure communication (e.g., forwarding a local port to a remote database).
  13. Used for automation: In DevOps and CI/CD pipelines (e.g., Jenkins, Ansible).
  14. Logging: Supports session logging and activity monitoring.

Quick Analogy:

  • SSL = Guarding communication between your browser and website.
  • SSH = Guarding your entrance to a secure building (server access).

Leave a comment

Your email address will not be published. Required fields are marked *