SlideShare a Scribd company logo
1 of 26
An Introduction to
Distributed Security Concepts and
Public Key Infrastructure (PKI)

Mary Thompson
Local Computing

User sits down in front of the computer
Responds to the login prompt with a user id and password.
Machine has a list of all the users and their encrypted
passwords
Password never goes across the network
Passwords are encrypted with a one-way code
The crypt alogrithm of Unix has been around since mid 70’s.
Uses a salt to keep identical passwords from having the
same encryption. Uses only 8 characters, case sensitive.
Uses 25 iterations of DES.
Typically broken by guessing and verifying guess or
snooping the password.
Remote Access Computing

User logs in to one or more remote machine(s)
Each machine has its own copy of userid and
password for each user
Changing a password on one machine does not affect the
other machines
Each time a user connects to a different machine, she
must login again

In the standard Unix login or rsh commands, the user’s
password is sent in clear text over the network or else
hosts trust users on the basis of their IP addresses
Ssh
encrypts the password before sending it
or uses a user’s key pair for establishing her identity
Single Domain Remote Access
Computing

User gets access to many machines in a single
administrative domain.
He has a single userid and password for all the machines
Can login just once to a central trusted server
Examples
Kerberos freeware from MIT Project Athena
NIS - Sun software with remote access comands
Kerberos

User - password based authentication based on late-70’s
Needham -Schroeder algorithms.
Kerberos Authentication Server aka KDC (Key Distribution
Center) shares long-term secret (password) with each
authorized user.
User logs in and established a short term session key with
the AS which can be used to establish his identity with
other entities, e.g. file system, other hosts or services each
of which trusts the authority server.
The authorization mechanism needs to be integrated with
the each function, e.g. file access, login, telnet, ftp, ...
The central server is a single point of vulnerablity to attack
and failure.
Been in use for 20 years. We are now at version 5.
NIS

Central server has all the user ids and passwords, don’t
need to store passwords locally.
Facilitates the same user id and passwords on all machines
on a network
Then rlogin and rsh allow the user to have access to all the
hosts in the hosts.equiv and .rhost files
No real security, depends IP addresses
Integrated with NFS to allow access to NFS files from any
host to which they are exported.
Cross Domain Authentication

Holy Grail is to allow a user to login in once and get access
to a ticket that will identify him to all machines on which he
is allowed to run.
Kerberos supports cross realm authentication, but it is
politically difficult to achieve. Used for multiple AFS/DFS
cells within a single institution. CMU, DOE weapons labs
X.509 Identity certificates. An IETF standard. Contains a
multi-part unique name and a public key. The legitimate
owner of the certificate has the matching private key.
Motivation for Universal Identity
certificate

Distributed computing environments, collaborative
research environments
Resources, stakeholders and users are all distributed
Spanning organizational as well as geographical
boundaries, e.g., DOE Collaboratories
Requires a flexible but secure way to identify users
Requires a flexible and secure way to identify
stakeholders
Security Levels

Confidentiality
Protection from disclosure to unauthorized persons

Integrity
Maintaining data consistency

Authentication
Assurance of identity of person or originator of data

Non-repudiation
Originator of communications can't deny it later - requires longterm of keys

Authorization
Identity combined with an access policy grants the rights to
perform some action
Security Building Blocks

Encryption provides
confidentiality, can provide authentication and integrity
protection

Checksums/hash algorithms provide
integrity protection, can provide authentication

Digital signatures provide
authentication, integrity protection, and non-repudiation
Keys
Symetric Keys
Both parties share the same secret key
Problem is securely distributing the key
DES - 56 bit key considered unsafe for financial purposes
since 1998
3 DES uses three DES keys

Public/Private keys
One key is the mathematical inverse of the other
Private keys are known only to the owner
Public key are stored in public servers, usually in a X.509
certificate.
RSA (patent expires Sept 2000), Diffie-Hellman, DSA
Hash Algorithms
Reduce variable-length input to fixed-length (128 or
160bit) output
Requirements
Can't deduce input from output
Can't generate a given output
Can't find two inputs which produce the same output

Used to
Produce fixed-length fingerprint of arbitrary-length data
Produce data checksums to enable detection of
modifications
Distill passwords down to fixed-length encryption keys

Also called message digests or fingerprints
Message Authentication Code
MAC

Hash algorithm + key to make hash value dependant on the
key
Most common form is HMAC (hash MAC)
hash( key, hash( key, data ))

Key affects both start and end of hashing process
Naming: hash + key = HMAC-hash
MD5  HMAC-MD5
SHA-1  HMAC-SHA (recommended)
Digital Signatures

Combines a hash with a digital signature algorithm
To sign
hash the data
encrypt the hash with the sender's private key
send data signer’s name and signature

To verify
hash the data
find the sender’s public key
decrypt the signature with the sender's public key
the result of which should match the hash
Elements of PKI

Certificate Authorities (CA)
OpenSSL, Netscape, Verisign, Entrust, RSA Keon

Public/Private Key Pairs - Key management
x.509 Identity Certificates - Certificate management
LDAP servers
X.509 Identity Certificates

Distinguished Name of user
C=US, O=Lawrence Berkely National Laboratory, OU=DSD,
CN=Mary R. Thompson

DN of Issuer
C=US, O=Lawrence Berkely National Laboratory, CN=LBNL-CA

Validity dates:
Not before <date>, Not after <date>

User's public key
V3- extensions
Signed by CA
Defined in ANS1 notation - language independent
Certificate Authority

A trusted third party - must be a secure server
Signs and publishes X.509 Identity certificates
Revokes certificates and publishes a Certification Revocation
List (CRL)
Many vendors
OpenSSL - open source, very simple
Netscape - free for limited number of certificates
Entrust - Can be run by enterprise or by Entrust
Verisign - Run by Verisign under contract to enterprise
RSA Security - Keon servers
LDAP server

Lightweight Directory Access Protocol (IETF standard)
Evolved from DAP and X.500 Identities

Used by CA's to store user's Identity Certificate
Open source implementations
Standard protocol for lookup, entry, etc.
Access control is implemented by user, password.
SSL - OpenSSL
Secure message passing protocol
Developed by Netscape, now an IETF RFC (TLS Jan '99)
Protocol for using one or two public/private keys
to authenticate a sever to a client
and by requiring a client key to authenticate the client to
the server
establish a shared symetric key (the session key)
uses the session key to encypt or MAC all data over the
secure channel

Gives you authentication, message integrity and
confidentiality
Everything except authorizaton
SSL Handshake

Negotiate the cipher suite
Establish a shared session key
Authenticate the server (optional)
Authenticate the client (optional)
Authenticate previously exhanged data
SSL handshake details

Client hello:
Client challenge, client nonce
Available cipher suites (eg RSA + RC4/40 + MD5)

Server hello:
Server certificate, server nonce
Connection ID
Selected cipher suite

Server adapts to client capabilities
Optional certificate exchange to authenticate server/client
Commercial sites only use server authentication
SSL Handshake - details
Client
Generate Challenge
Define Protocols

Verify server
certificate

Generates pre-master session key
Encyrpt session key
master-secret = hash(pre-master
secret, previous messages)
Generate Client read/write key pairs

Decrypt and verify challenge phrase

Server
Challenge
Encryption
protocols
Server Cert
Connection ID
Encryption
protocols

Return Server Certificate
Generate connectiion ID
Confirm Protocols

Decrypt pre-master session key
{pre-master
master secret = hash (pre-master secret,
session Key}
previous messages)
Server's public
Generate server read/write Key pairs
key

{Client's Challenge}
Server Write Key

Encrypt random challenge phrase
SSL Handshake

Client Authentication

Client
Decrypt challenge

Calculate message digest
on Challenge and Server
certificate

Done

Server
(Challenge
phrase)
Server write key
[Message Digest &
Client Certificate]
Client private key

(Session
Identifier)
Server's write key

Generate new
challenge
Requests Client
certificate
Decrypt Message Digest and
Client Certificate

Verify Client certificate and
recompute message digest
Status

Single purpose CA’s e.g. Globus (SSLeay) Collaboratory,
DOE-Grid (Netscape)
Enterprises slow to run CA’s
Many different Vendors - Verisign, Entrust, Netscape, RSA
Security Keon
Incompatible Key and Certificate management between
vendors
Certificates are not integrated with existing applications that
need authorization
Large amount of corporate overhead in running a CA
Uncertain legal implications of issuing certificates

Lab is currently looking at the RSA Keon server as it has
integration with ssh and NIS authorization
Public Key Cryptography Standards PKCS
PKCS 7
Cryptographic Message Syntax Standard

PKCS 10
Certification Request Syntax Standard - used by Netscape
browser, IE, and SSL libraries

PKCS 11
Cryptographic Token Interface Standard - An API for
signing and verifying data by a device that holds the key

PKCS 12
Personal Information Exchange Syntax Standard - file
format for storing certificate and private key - used to move
private information between browsers
References
Peter Guttman's tutorial

http://www.cs.auckland.ac.nz/~pgut001/tutorial/
about 500 slides covering cryptography, secure connection
protocols, PKI, politics and more.

RSA Laboratories PKCS specifications

http://www.rsasecurity.com/rsalabs/pkcs/
SSL/TLS
TLS v 1.0 RFC - http://www.ietf.org/rfc/rfc2246.tx.
SSL-v3

http://www.netscape.com/eng/ssl3/draft302.txt
openSSL http://www.openssl.org/

Certificates

http://futile.lbl.gov/mecury/cappt/index.html

More Related Content

What's hot

What's hot (20)

Network security cs9 10
Network security  cs9 10Network security  cs9 10
Network security cs9 10
 
Secure shell ppt
Secure shell pptSecure shell ppt
Secure shell ppt
 
TLS/SSL Protocol Design 201006
TLS/SSL Protocol Design 201006TLS/SSL Protocol Design 201006
TLS/SSL Protocol Design 201006
 
Key Storage
Key StorageKey Storage
Key Storage
 
Ch13
Ch13Ch13
Ch13
 
Lecture 9 key distribution and user authentication
Lecture 9 key distribution and user authentication Lecture 9 key distribution and user authentication
Lecture 9 key distribution and user authentication
 
SSL/TLS
SSL/TLSSSL/TLS
SSL/TLS
 
Secure Socket Layer
Secure Socket LayerSecure Socket Layer
Secure Socket Layer
 
SSH - Secure Shell
SSH - Secure ShellSSH - Secure Shell
SSH - Secure Shell
 
Ch15
Ch15Ch15
Ch15
 
Ch14
Ch14Ch14
Ch14
 
[Cluj] Turn SSL ON
[Cluj] Turn SSL ON[Cluj] Turn SSL ON
[Cluj] Turn SSL ON
 
Secure Socket Layer
Secure Socket LayerSecure Socket Layer
Secure Socket Layer
 
Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)
 
Secure Socket Layer (SSL)
Secure Socket Layer (SSL)Secure Socket Layer (SSL)
Secure Socket Layer (SSL)
 
What is SSL ? The Secure Sockets Layer (SSL) Protocol
What is SSL ? The Secure Sockets Layer (SSL) ProtocolWhat is SSL ? The Secure Sockets Layer (SSL) Protocol
What is SSL ? The Secure Sockets Layer (SSL) Protocol
 
An Introduction to Kerberos
An Introduction to KerberosAn Introduction to Kerberos
An Introduction to Kerberos
 
Kerberos Protocol
Kerberos ProtocolKerberos Protocol
Kerberos Protocol
 
Introduction To PKI Technology
Introduction To PKI TechnologyIntroduction To PKI Technology
Introduction To PKI Technology
 
SSLtalk
SSLtalkSSLtalk
SSLtalk
 

Similar to Introduction to distributed security concepts and public key infrastructure mary thompson

ok_mary_pki1234public_key_encryption.ppt
ok_mary_pki1234public_key_encryption.pptok_mary_pki1234public_key_encryption.ppt
ok_mary_pki1234public_key_encryption.ppt
SmeetaJavalagi
 
Module 8 System Hacking
Module 8   System HackingModule 8   System Hacking
Module 8 System Hacking
leminhvuong
 
Secure payment systems
Secure payment systemsSecure payment systems
Secure payment systems
Abdulaziz Mohd
 
PKI and Applications
PKI and ApplicationsPKI and Applications
PKI and Applications
Svetlin Nakov
 

Similar to Introduction to distributed security concepts and public key infrastructure mary thompson (20)

ok_mary_pki1234public_key_encryption.ppt
ok_mary_pki1234public_key_encryption.pptok_mary_pki1234public_key_encryption.ppt
ok_mary_pki1234public_key_encryption.ppt
 
Lecture17
Lecture17Lecture17
Lecture17
 
Secure Gate / Reverse Proxy - WAF 1ere génération / Datelec
Secure Gate / Reverse Proxy - WAF 1ere génération / DatelecSecure Gate / Reverse Proxy - WAF 1ere génération / Datelec
Secure Gate / Reverse Proxy - WAF 1ere génération / Datelec
 
SSL
SSLSSL
SSL
 
SSL.ppt
SSL.pptSSL.ppt
SSL.ppt
 
The new rocket science stuff in microsoft pki
The new rocket science stuff in microsoft pkiThe new rocket science stuff in microsoft pki
The new rocket science stuff in microsoft pki
 
Module 8 System Hacking
Module 8   System HackingModule 8   System Hacking
Module 8 System Hacking
 
Secure payment systems
Secure payment systemsSecure payment systems
Secure payment systems
 
Computer security module 4
Computer security module 4Computer security module 4
Computer security module 4
 
Security
SecuritySecurity
Security
 
Basic Cryptography unit 4 CSS
Basic Cryptography unit 4 CSSBasic Cryptography unit 4 CSS
Basic Cryptography unit 4 CSS
 
Cryptography
CryptographyCryptography
Cryptography
 
Current standard implementations for security/authorization in distributed c...
Current standard implementations for security/authorization in distributed c...Current standard implementations for security/authorization in distributed c...
Current standard implementations for security/authorization in distributed c...
 
PKI and Applications
PKI and ApplicationsPKI and Applications
PKI and Applications
 
Ssh (The Secure Shell)
Ssh (The Secure Shell)Ssh (The Secure Shell)
Ssh (The Secure Shell)
 
SSh_part_1.pptx
SSh_part_1.pptxSSh_part_1.pptx
SSh_part_1.pptx
 
Introduction to SSH & PGP
Introduction to SSH & PGPIntroduction to SSH & PGP
Introduction to SSH & PGP
 
Network Security Primer
Network Security PrimerNetwork Security Primer
Network Security Primer
 
Ch12 Cryptographic Protocols and Public Key Infrastructure
Ch12 Cryptographic Protocols and Public Key InfrastructureCh12 Cryptographic Protocols and Public Key Infrastructure
Ch12 Cryptographic Protocols and Public Key Infrastructure
 
Web Security
Web SecurityWeb Security
Web Security
 

More from Information Security Awareness Group

More from Information Security Awareness Group (20)

Securing the Data in Big Data Security Analytics by Kevin Bowers, Nikos Trian...
Securing the Data in Big Data Security Analytics by Kevin Bowers, Nikos Trian...Securing the Data in Big Data Security Analytics by Kevin Bowers, Nikos Trian...
Securing the Data in Big Data Security Analytics by Kevin Bowers, Nikos Trian...
 
Mobile Device Security by Michael Gong, Jake Kreider, Chris Lugo, Kwame Osaf...
 Mobile Device Security by Michael Gong, Jake Kreider, Chris Lugo, Kwame Osaf... Mobile Device Security by Michael Gong, Jake Kreider, Chris Lugo, Kwame Osaf...
Mobile Device Security by Michael Gong, Jake Kreider, Chris Lugo, Kwame Osaf...
 
Mobile Devices – Using Without Losing Mark K. Mellis, Associate Information S...
Mobile Devices – Using Without Losing Mark K. Mellis, Associate Information S...Mobile Devices – Using Without Losing Mark K. Mellis, Associate Information S...
Mobile Devices – Using Without Losing Mark K. Mellis, Associate Information S...
 
IBM Security Strategy Intelligence,
IBM Security Strategy Intelligence,IBM Security Strategy Intelligence,
IBM Security Strategy Intelligence,
 
Addressing Big Data Security Challenges: The Right Tools for Smart Protection...
Addressing Big Data Security Challenges: The Right Tools for Smart Protection...Addressing Big Data Security Challenges: The Right Tools for Smart Protection...
Addressing Big Data Security Challenges: The Right Tools for Smart Protection...
 
Big data analysis concepts and references by Cloud Security Alliance
Big data analysis concepts and references by Cloud Security AllianceBig data analysis concepts and references by Cloud Security Alliance
Big data analysis concepts and references by Cloud Security Alliance
 
Big data analysis concepts and references
Big data analysis concepts and referencesBig data analysis concepts and references
Big data analysis concepts and references
 
PKI by Tim Polk
PKI by Tim PolkPKI by Tim Polk
PKI by Tim Polk
 
Authorization Policy in a PKI Environment Mary Thompson Srilekha Mudumbai A...
 Authorization Policy in a PKI Environment  Mary Thompson Srilekha Mudumbai A... Authorization Policy in a PKI Environment  Mary Thompson Srilekha Mudumbai A...
Authorization Policy in a PKI Environment Mary Thompson Srilekha Mudumbai A...
 
Pki by Steve Lamb
Pki by Steve LambPki by Steve Lamb
Pki by Steve Lamb
 
PKI by Gene Itkis
PKI by Gene ItkisPKI by Gene Itkis
PKI by Gene Itkis
 
OThe Open Science Grid: Concepts and Patterns Ruth Pordes, Mine Altunay, Bria...
OThe Open Science Grid: Concepts and Patterns Ruth Pordes, Mine Altunay, Bria...OThe Open Science Grid: Concepts and Patterns Ruth Pordes, Mine Altunay, Bria...
OThe Open Science Grid: Concepts and Patterns Ruth Pordes, Mine Altunay, Bria...
 
Optimal Security Response to Attacks on Open Science Grids Mine Altunay, Sven...
Optimal Security Response to Attacks on Open Science Grids Mine Altunay, Sven...Optimal Security Response to Attacks on Open Science Grids Mine Altunay, Sven...
Optimal Security Response to Attacks on Open Science Grids Mine Altunay, Sven...
 
THE OPEN SCIENCE GRID Ruth Pordes
THE OPEN SCIENCE GRID Ruth PordesTHE OPEN SCIENCE GRID Ruth Pordes
THE OPEN SCIENCE GRID Ruth Pordes
 
Open Science Grid security-atlas-t2 Bob Cowles
Open Science Grid security-atlas-t2 Bob CowlesOpen Science Grid security-atlas-t2 Bob Cowles
Open Science Grid security-atlas-t2 Bob Cowles
 
Security Open Science Grid Doug Olson
Security Open Science Grid Doug OlsonSecurity Open Science Grid Doug Olson
Security Open Science Grid Doug Olson
 
Open Science Group Security Kevin Hill
Open Science Group Security Kevin HillOpen Science Group Security Kevin Hill
Open Science Group Security Kevin Hill
 
Xrootd proxies Andrew Hanushevsky
Xrootd proxies Andrew HanushevskyXrootd proxies Andrew Hanushevsky
Xrootd proxies Andrew Hanushevsky
 
Privilege Project Vikram Andem
Privilege Project Vikram AndemPrivilege Project Vikram Andem
Privilege Project Vikram Andem
 
DES Block Cipher Hao Qi
DES Block Cipher Hao QiDES Block Cipher Hao Qi
DES Block Cipher Hao Qi
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Introduction to distributed security concepts and public key infrastructure mary thompson

  • 1. An Introduction to Distributed Security Concepts and Public Key Infrastructure (PKI) Mary Thompson
  • 2. Local Computing User sits down in front of the computer Responds to the login prompt with a user id and password. Machine has a list of all the users and their encrypted passwords Password never goes across the network Passwords are encrypted with a one-way code The crypt alogrithm of Unix has been around since mid 70’s. Uses a salt to keep identical passwords from having the same encryption. Uses only 8 characters, case sensitive. Uses 25 iterations of DES. Typically broken by guessing and verifying guess or snooping the password.
  • 3. Remote Access Computing User logs in to one or more remote machine(s) Each machine has its own copy of userid and password for each user Changing a password on one machine does not affect the other machines Each time a user connects to a different machine, she must login again In the standard Unix login or rsh commands, the user’s password is sent in clear text over the network or else hosts trust users on the basis of their IP addresses Ssh encrypts the password before sending it or uses a user’s key pair for establishing her identity
  • 4. Single Domain Remote Access Computing User gets access to many machines in a single administrative domain. He has a single userid and password for all the machines Can login just once to a central trusted server Examples Kerberos freeware from MIT Project Athena NIS - Sun software with remote access comands
  • 5. Kerberos User - password based authentication based on late-70’s Needham -Schroeder algorithms. Kerberos Authentication Server aka KDC (Key Distribution Center) shares long-term secret (password) with each authorized user. User logs in and established a short term session key with the AS which can be used to establish his identity with other entities, e.g. file system, other hosts or services each of which trusts the authority server. The authorization mechanism needs to be integrated with the each function, e.g. file access, login, telnet, ftp, ... The central server is a single point of vulnerablity to attack and failure. Been in use for 20 years. We are now at version 5.
  • 6. NIS Central server has all the user ids and passwords, don’t need to store passwords locally. Facilitates the same user id and passwords on all machines on a network Then rlogin and rsh allow the user to have access to all the hosts in the hosts.equiv and .rhost files No real security, depends IP addresses Integrated with NFS to allow access to NFS files from any host to which they are exported.
  • 7. Cross Domain Authentication Holy Grail is to allow a user to login in once and get access to a ticket that will identify him to all machines on which he is allowed to run. Kerberos supports cross realm authentication, but it is politically difficult to achieve. Used for multiple AFS/DFS cells within a single institution. CMU, DOE weapons labs X.509 Identity certificates. An IETF standard. Contains a multi-part unique name and a public key. The legitimate owner of the certificate has the matching private key.
  • 8. Motivation for Universal Identity certificate Distributed computing environments, collaborative research environments Resources, stakeholders and users are all distributed Spanning organizational as well as geographical boundaries, e.g., DOE Collaboratories Requires a flexible but secure way to identify users Requires a flexible and secure way to identify stakeholders
  • 9. Security Levels Confidentiality Protection from disclosure to unauthorized persons Integrity Maintaining data consistency Authentication Assurance of identity of person or originator of data Non-repudiation Originator of communications can't deny it later - requires longterm of keys Authorization Identity combined with an access policy grants the rights to perform some action
  • 10. Security Building Blocks Encryption provides confidentiality, can provide authentication and integrity protection Checksums/hash algorithms provide integrity protection, can provide authentication Digital signatures provide authentication, integrity protection, and non-repudiation
  • 11. Keys Symetric Keys Both parties share the same secret key Problem is securely distributing the key DES - 56 bit key considered unsafe for financial purposes since 1998 3 DES uses three DES keys Public/Private keys One key is the mathematical inverse of the other Private keys are known only to the owner Public key are stored in public servers, usually in a X.509 certificate. RSA (patent expires Sept 2000), Diffie-Hellman, DSA
  • 12. Hash Algorithms Reduce variable-length input to fixed-length (128 or 160bit) output Requirements Can't deduce input from output Can't generate a given output Can't find two inputs which produce the same output Used to Produce fixed-length fingerprint of arbitrary-length data Produce data checksums to enable detection of modifications Distill passwords down to fixed-length encryption keys Also called message digests or fingerprints
  • 13. Message Authentication Code MAC Hash algorithm + key to make hash value dependant on the key Most common form is HMAC (hash MAC) hash( key, hash( key, data )) Key affects both start and end of hashing process Naming: hash + key = HMAC-hash MD5  HMAC-MD5 SHA-1  HMAC-SHA (recommended)
  • 14. Digital Signatures Combines a hash with a digital signature algorithm To sign hash the data encrypt the hash with the sender's private key send data signer’s name and signature To verify hash the data find the sender’s public key decrypt the signature with the sender's public key the result of which should match the hash
  • 15. Elements of PKI Certificate Authorities (CA) OpenSSL, Netscape, Verisign, Entrust, RSA Keon Public/Private Key Pairs - Key management x.509 Identity Certificates - Certificate management LDAP servers
  • 16. X.509 Identity Certificates Distinguished Name of user C=US, O=Lawrence Berkely National Laboratory, OU=DSD, CN=Mary R. Thompson DN of Issuer C=US, O=Lawrence Berkely National Laboratory, CN=LBNL-CA Validity dates: Not before <date>, Not after <date> User's public key V3- extensions Signed by CA Defined in ANS1 notation - language independent
  • 17. Certificate Authority A trusted third party - must be a secure server Signs and publishes X.509 Identity certificates Revokes certificates and publishes a Certification Revocation List (CRL) Many vendors OpenSSL - open source, very simple Netscape - free for limited number of certificates Entrust - Can be run by enterprise or by Entrust Verisign - Run by Verisign under contract to enterprise RSA Security - Keon servers
  • 18. LDAP server Lightweight Directory Access Protocol (IETF standard) Evolved from DAP and X.500 Identities Used by CA's to store user's Identity Certificate Open source implementations Standard protocol for lookup, entry, etc. Access control is implemented by user, password.
  • 19. SSL - OpenSSL Secure message passing protocol Developed by Netscape, now an IETF RFC (TLS Jan '99) Protocol for using one or two public/private keys to authenticate a sever to a client and by requiring a client key to authenticate the client to the server establish a shared symetric key (the session key) uses the session key to encypt or MAC all data over the secure channel Gives you authentication, message integrity and confidentiality Everything except authorizaton
  • 20. SSL Handshake Negotiate the cipher suite Establish a shared session key Authenticate the server (optional) Authenticate the client (optional) Authenticate previously exhanged data
  • 21. SSL handshake details Client hello: Client challenge, client nonce Available cipher suites (eg RSA + RC4/40 + MD5) Server hello: Server certificate, server nonce Connection ID Selected cipher suite Server adapts to client capabilities Optional certificate exchange to authenticate server/client Commercial sites only use server authentication
  • 22. SSL Handshake - details Client Generate Challenge Define Protocols Verify server certificate Generates pre-master session key Encyrpt session key master-secret = hash(pre-master secret, previous messages) Generate Client read/write key pairs Decrypt and verify challenge phrase Server Challenge Encryption protocols Server Cert Connection ID Encryption protocols Return Server Certificate Generate connectiion ID Confirm Protocols Decrypt pre-master session key {pre-master master secret = hash (pre-master secret, session Key} previous messages) Server's public Generate server read/write Key pairs key {Client's Challenge} Server Write Key Encrypt random challenge phrase
  • 23. SSL Handshake Client Authentication Client Decrypt challenge Calculate message digest on Challenge and Server certificate Done Server (Challenge phrase) Server write key [Message Digest & Client Certificate] Client private key (Session Identifier) Server's write key Generate new challenge Requests Client certificate Decrypt Message Digest and Client Certificate Verify Client certificate and recompute message digest
  • 24. Status Single purpose CA’s e.g. Globus (SSLeay) Collaboratory, DOE-Grid (Netscape) Enterprises slow to run CA’s Many different Vendors - Verisign, Entrust, Netscape, RSA Security Keon Incompatible Key and Certificate management between vendors Certificates are not integrated with existing applications that need authorization Large amount of corporate overhead in running a CA Uncertain legal implications of issuing certificates Lab is currently looking at the RSA Keon server as it has integration with ssh and NIS authorization
  • 25. Public Key Cryptography Standards PKCS PKCS 7 Cryptographic Message Syntax Standard PKCS 10 Certification Request Syntax Standard - used by Netscape browser, IE, and SSL libraries PKCS 11 Cryptographic Token Interface Standard - An API for signing and verifying data by a device that holds the key PKCS 12 Personal Information Exchange Syntax Standard - file format for storing certificate and private key - used to move private information between browsers
  • 26. References Peter Guttman's tutorial http://www.cs.auckland.ac.nz/~pgut001/tutorial/ about 500 slides covering cryptography, secure connection protocols, PKI, politics and more. RSA Laboratories PKCS specifications http://www.rsasecurity.com/rsalabs/pkcs/ SSL/TLS TLS v 1.0 RFC - http://www.ietf.org/rfc/rfc2246.tx. SSL-v3 http://www.netscape.com/eng/ssl3/draft302.txt openSSL http://www.openssl.org/ Certificates http://futile.lbl.gov/mecury/cappt/index.html