Tutorial on Creating Certificates SSH Kerberos

Slides:



Advertisements
Similar presentations
Chapter 14 – Authentication Applications
Advertisements

Authentication Applications. will consider authentication functions will consider authentication functions developed to support application-level authentication.
Key Management. Shared Key Exchange Problem How do Alice and Bob exchange a shared secret? Offline – Doesnt scale Using public key cryptography (possible)
Key distribution and certification In the case of public key encryption model the authenticity of the public key of each partner in the communication must.
Kerberos 1 Public domain image of Heracles and Cerberus. From an Attic bilingual amphora, 530–520 BC. From Italy (?).
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
1 Network Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
16.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft® Windows® Server 2003 Active Directory Infrastructure.
Introduction to PKI Seminar What is PKI? Robert Brentrup July 13, 2004.
SMUCSE 5349/73491 Authentication Protocols. SMUCSE 5349/73492 The Premise How do we use perfect cryptographic mechanisms (signatures, public-key and symmetric.
SMUCSE 5349/49 Security. SMUCSE 5349/7349 Threats Threats to the security of itself –Loss of confidentiality s are sent in clear over.
SSH Secure Login Connections over the Internet
SYSTEM ADMINISTRATION Chapter 13 Security Protocols.
Authentication and Authorization Authentication is the process of verifying a principal’s identity (but how to define “identity”?) –Who the person is –Or,
Introduction to Secure Sockets Layer (SSL) Protocol Based on:
Authentication Applications Unit 6. Kerberos In Greek and Roman mythology, is a multi-headed (usually three-headed) dog, or "hellhound” with a serpent's.
Chapter 21 Distributed System Security Copyright © 2008.
Middleware for Secure Environments Presented by Kemal Altıntaş Hümeyra Topcu-Altıntaş Osman Şen.
1 KERBEROS: AN AUTHENTICATION SERVICE FOR OPEN NETWORK SYSTEMS J. G. Steiner, C. Neuman, J. I. Schiller MIT.
CPS Computer Security Tutorial on Creating Certificates SSH Kerberos CPS 290Page 1.
Cryptography and Network Security Chapter 14 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
1 Network Security Lecture 7 Overview of Authentication Systems Waleed Ejaz
Security fundamentals Topic 5 Using a Public Key Infrastructure.
Module 2: Introducing Windows 2000 Security. Overview Introducing Security Features in Active Directory Authenticating User Accounts Securing Access to.
CPS Computer Security Tutorial on Creating Certificates SSH Kerberos CPS 290Page 1.
2/19/2016clicktechsolution.com Security. 2/19/2016clicktechsolution.com Threats Threats to the security of itself –Loss of confidentiality.
Cryptography in the Real World Diffie-Hellman Key Exchange RSA Analysis RSA Performance SSH Protocol Page 1.
Security By Meenal Mandalia. What is ? stands for Electronic Mail. much the same as a letter, only that it is exchanged in a different.
SSH. 2 SSH – Secure Shell SSH is a cryptographic protocol – Implemented in software originally for remote login applications – One most popular software.
1 Example security systems n Kerberos n Secure shell.
Security Handshake Pitfalls. Client Server Hello (K)
Key management issues in PGP
Web Security CS-431.
Chapter 5 Network Security Protocols in Practice Part I
Web Applications Security Cryptography 1
TOPIC: Web Security (Part-3)
Basics of Cryptography
Security Outline Encryption Algorithms Authentication Protocols
Tutorial on Creating Certificates SSH Kerberos
Cryptography and Network Security
Secure Sockets Layer (SSL)
CMSC 414 Computer and Network Security Lecture 15
Authentication Applications
SSL Implementation Guide
Network Security Unit-VI
Basic Network Encryption
Private Key Algorithms Key Exchange Protocols SSL
CSE 4095 Transport Layer Security TLS, Part II
CS 465 TLS Last Updated: Oct 31, 2017.
Message Digest Cryptographic checksum One-way function Relevance
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
SSH: SECURE LOGIN CONNECTIONS OVER THE INTERNET
Kerberos.
CS60002: Distributed Systems
Cryptography and Network Security
Lecture 4 - Cryptography
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
The Secure Sockets Layer (SSL) Protocol
Public Key Infrastructure
Kerberos Part of project Athena (MIT).
KERBEROS.
CDK: Chapter 7 TvS: Chapter 9
Basic Network Encryption
Advanced Computer Networks
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Computer Security Heartbleed Bug Tutorial on Creating Certificates SSH
Review of Cryptography: Symmetric and Asymmetric Crypto Advanced Network Security Peter Reiher August, 2014.
AIT 682: Network and Systems Security
Presentation transcript:

Tutorial on Creating Certificates SSH Kerberos CPS 290 Computer Security Tutorial on Creating Certificates SSH Kerberos CPS 290

Acting as Your own Certificate Authority (CA) 1. a. Create a public-private root-key pair for CA b. Create self-signed root certificate 2. a. Create a public-private intermediate key pair b. Create intermediate certificate signing request (CSR) c. Sign intermediate certificate using root private key 3. a. Create public-private key pair for domain www.example.com b. Create CSR for domain c. Sign certificate for domain using intermediate private key Might do this when setting up secure web sites within a corporate intranet. CPS 290

Create Files and Directories index.txt stores database of certificates created serial holds serial number of next certificate CPS 290

Create Configuration File Strict policy requires organization names in parent and child certificates to match, e.g., when used in intranet. CPS 290

Create Root Private Key Private key is encrypted using passphrase as key to AES256 algorithm. CPS 290

Create Root Certificate -x509 indicates self-signed certificate sha256 algorithm used to create message digest (hash) of certificate, which is then (self) signed CPS 290

Examine the Root Certificate who signed it CPS 290

redundant to specify Signature Algorithm again signed hash of everything above CPS 290

CPS 290

Create Private Intermediate Key CPS 290

Create Intermediate CSR sha256 digest (hash) of applicant information signed with root private key – can check that it can be decoded with root public key CPS 290

Sign Intermediate Certificate CPS 290

Examine Signed Intermediate Certificate CPS 290

CPS 290

CPS 290

Verify Signed Certificate Using Root Certificate After signing the intermediate certificate, hide the root certificate’s private key somewhere very secure (e.g., off-line). Use intermediate certificate with short validity period to sign other certificates. CPS 290

Create Private Key for Domain CPS 290

Create CSR for Domain www.example.com CPS 290

Sign Certificate for Domain CPS 290

Protecting Private Keys 1) Store keys that are rarely used, e.g., private root key, off-line. 2) Hardware device that performs cryptographic operations for the processor. Private key cannot be read from the device. 3) Secure multiparty computation: multiple servers must collaborate to perform cryptographic operations. No one server can learn anything about the private key unless all collude. CPS 290

SSH Server has a “host” public-private key pair (RSA or DSA) . Public key typically NOT signed by a certificate authority. Client warns if public host key changes. Diffie-Hellman used to exchange session key. Server selects g and p (group size) and sends to client. Client and server create DH private keys a and b. Client sends public DH key ga. Server sends public DH key gb and signs hash of DH shared secret gab and 12 other values with its private “host” key. Client verifies signed shared secret using public key. Symmetric encryption using 3DES, Blowfish, AES, or Arcfour begins. CPS 290

Why Combine RSA and Diffie-Hellman? Why doesn’t the client just send a symmetric key to the server, encrypted with the server’s public key? Because if the server’s private key is later compromised, previous communications encrypted with the public key can be decrypted, revealing the symmetric key. Then all communications encrypted with the symmetric key can also be decrypted! To prevent this attack, Diffie-Hellman ensures that the symmetric key is never transmitted, even in encrypted form, and the client and server discard the symmetric key after the session is over. SSL/TLS provides this option too: DHE_RSA key exchange “Perfect forward secrecy” CPS 290

SSH User Authentication User can authenticate by sending password or using public-private key pair. Private key has optional passphrase. If so, the private key is encrypted using the passphrase as an AES encryption key and stored on the client’s machine. SSHv1: If using keys, server sends “challenge” signed with users public key for user to decode with private key. SSHv2: If using keys, client signs a block of data including session ID, user name, and user’s public key with user’s private key; server authenticates with user’s public key. Advantage of using public/private key authentication: if server is compromised, only client’s public key is compromised. Why did SSHv2 replace solving a challenge with signing a body of public or innocuous data? Concern that the server could trick the client into decrypting something private. CPS 290

SSH Applications Secure Shell (SSH): Replacement for insecure telnet, rlogin, rsh, rexec, which sent plaintext passwords over the network! CPS 290

SSH Applications Port forwarding (email example): Log in to linux.cs.duke.edu. Forward anything received locally (phoenix) on port 25 to linux.cs.duke.edu on port25. Useful if “phoenix” is not a trusted email relayer but “linux” is. “phoenix” email program configured to use phoenix as relayer CPS 290

Kerberos A key-serving system based on Private-Keys (DES). Assumptions Built on top of TCP/IP networks Many “clients” (typically users, but perhaps software) Many “servers” (e.g. file servers, compute servers, print servers, …) User machines and servers are potentially insecure without compromising the whole system A kerberos server must be secure. CPS 290

Ticket Granting Server Kerberos (kinit) Kerberos Authentication Server Ticket Granting Server (TGS) 2 1 3 4 Service Server (S) Client (C) 5 Request ticket-granting-ticket (TGT) <TGT> Request server-ticket (ST) <ST> Request service CPS 290

Kerberos V Message Formats C = client S = server K = key or session key T = timestamp V = time range TGS = Ticket Granting Service A = Net Address Ticket Granting Ticket: TC,TGS = TGS,{C,A,V,KC,TGS}KTGS Server Ticket: TC,S = S, {C,A,V,KC,S}KS Authenticator: AC,TGS = {C,T}KC,TGS Authenticator: AC,S = {C,T}KC,S Client to Kerberos: C,TGS Kerberos to Client: {KC,TGS}KC, TC,TGS Client to TGS: TC,TGS , S, AC,TGS TGS to Client: {KC,S}KC,TGS, TC,S Client to Server: AC,S, TC,S CPS 290

Kerberos Notes All machines have to have synchronized clocks Must not be able to reuse authenticators Servers should store all previous and valid tickets Help prevent replays Client keys are typically a one-way hash, e.g., DES-CBC-MD5, of the client’s password + salt (random data). Clients do not store these keys – a key is created when the client logs in. These keys are private and not sent over the network. Kerberos 5 uses cipher block chaining (CBC) for encryption - Kerberos 4 was insecure in part because it used a nonstandard propagating CBC (PCPC) CPS 290