Lecture 2: Security Rachana Ananthakrishnan Argonne National Lab.

Slides:



Advertisements
Similar presentations
Experiences with Massive PKI Deployment and Usage Daniel Kouřil, Michal Procházka Masaryk University & CESNET Security and Protection of Information 2009.
Advertisements

Public Key Infrastructure A Quick Look Inside PKI Technology Investigation Center 3/27/2002.
Spring 2000CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
MyProxy: A Multi-Purpose Grid Authentication Service
Grid Computing, B. Wilkinson, 20045a.1 Security Continued.
Internet and Intranet Protocols and Applications Lecture 9a: Secure Sockets Layer (SSL) March, 2004 Arthur Goldberg Computer Science Department New York.
1 Network Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Grid Security Infrastructure Tutorial Von Welch Distributed Systems Laboratory U. Of Chicago and Argonne National Laboratory.
Lecture 23 Internet Authentication Applications
Grid Security. Typical Grid Scenario Users Resources.
Public Key Infrastructure (PKI) Providing secure communications and authentication over an open network.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Kerberos and PKI Cooperation Daniel Kouřil, Luděk Matyska, Michal Procházka Masaryk University AFS & Kerberos Best Practices Workshop 2006.
WAP Public Key Infrastructure CSCI – Independent Study Fall 2002 Jaleel Syed Presentation No 5.
Security Issues in Grid Computing Reading: Grid Book, Chapter 16: “Security, Accounting and Assurance” By Clifford Neuman.
Security NeSC Training Team International Summer School for Grid Computing, Vico Equense,
Mar 12, 2002Mårten Trolin1 This lecture Diffie-Hellman key agreement Authentication Certificates Certificate Authorities SSL/TLS.
Grid Security Overview The Globus Project™ Copyright (c) 2002 University of Chicago and The University of Southern California. All.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 9: Planning and Managing Certificate Services.
Introduction to PKI Seminar What is PKI? Robert Brentrup July 13, 2004.
Apr 22, 2003Mårten Trolin1 Agenda Course high-lights – Symmetric and asymmetric cryptography – Digital signatures and MACs – Certificates – Protocols Interactive.
Presented by Xiaoping Yu Cryptography and PKI Cosc 513 Operating System Presentation Presented to Dr. Mort Anvari.
Introduction to Public Key Infrastructure (PKI) Office of Information Security The University of Texas at Brownsville & Texas Southmost College.
Security Management.
Digital Signature Xiaoyan Guo/ Xiaohang Luo/
Controller of Certifying Authorities PKI Technology - Role of CCA Assistant Controller (Technology) Controller of Certifying Authorities Ministry of Communications.
SYSTEM ADMINISTRATION Chapter 13 Security Protocols.
AQA Computing A2 © Nelson Thornes 2009 Section Unit 3 Section 6.4: Internet Security Digital Signatures and Certificates.
INFSO-RI Enabling Grids for E-sciencE EGEE Security Basics for the User Guy Warner NeSC Training Team An Induction to EGEE for GOSC.
Chapter 9: Using and Managing Keys Security+ Guide to Network Security Fundamentals Second Edition.
Public Key Infrastructure (X509 PKI) Presented by : Ali Fanian.
Cryptography Encryption/Decryption Franci Tajnik CISA Franci Tajnik.
INFSO-RI Enabling Grids for E-sciencE Getting Started Guy Warner NeSC Training Team Induction to Grid Computing and the National.
Grid Security 1. Grid security is a crucial component Need for secure communication between grid elements  Authenticated ( verify entities are who they.
1 Grid Security. 2 Grid Security Concerns Control access to shared services –Address autonomous management, e.g., different policy in different work groups.
Chapter 23 Internet Authentication Applications Kerberos Overview Initially developed at MIT Software utility available in both the public domain and.
Certificate-Based Operations. Module Objectives By the end of this module participants will be able to: Define how cryptography is used to secure information.
Chapter 21 Distributed System Security Copyright © 2008.
National Computational Science National Center for Supercomputing Applications National Computational Science NCSA-IPG Collaboration Projects Overview.
INFSO-RI Enabling Grids for E-sciencE Sofia, 22 March 2007 Security, Authentication and Authorisation Mike Mineter Training, Outreach.
Module 9: Fundamentals of Securing Network Communication.
1 Securing Data and Communication. 2 Module - Securing Data and Communication ♦ Overview Data and communication over public networks like Internet can.
Internet Security. 2 PGP is a security technology which allows us to send that is authenticated and/or encrypted. Authentication confirms the identity.
1. 2 Overview In Exchange security is managed by assigning permissions in Active Directory Exchange objects are secured with DACL and ACEs Permissions.
ELECTROINC COMMERCE TOOLS Chapter 6. Outline 6.0 Introduction 6.1 PUBLIC KEY INFRASTRUCTURE (PKI) AND CERTIFICATE AUTHORITIES (CAs) TRUST
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Security fundamentals Topic 5 Using a Public Key Infrastructure.
Authorisation, Authentication and Security Guy Warner NeSC Training Team Induction to Grid Computing and the EGEE Project, Vilnius,
Key Management. Authentication Using Public-Key Cryptography  K A +, K B + : public keys Alice Bob K B + (A, R A ) 1 2 K A + (R A, R B,K A,B ) 3 K A,B.
© Copyright 2009 SSLPost 01. © Copyright 2009 SSLPost 02 a recipient is sent an encrypted that contains data specific to that recipient the data.
1 Grid School Module 4: Grid Security. 2 Typical Grid Scenario Users Resources.
Mar 28, 2003Mårten Trolin1 This lecture Certificates and key management Non-interactive protocols –PGP SSL/TLS –Introduction –Phases –Commands.
Prof. Reuven Aviv, Nov 2013 Public Key Infrastructure1 Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Infrastructure.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Authentication, Authorisation and Security Mike Mineter, National e-Science Centre.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Authentication, Authorisation and Security Emidio Giorgio INFN Catania.
INFSO-RI Enabling Grids for E-sciencE Sofia, 17 March 2009 Security, Authentication and Authorisation Mike Mineter Training, Outreach.
The Secure Sockets Layer (SSL) Protocol
Authentication, Authorisation and Security
Grid Security.
Computer Communication & Networks
Secure Sockets Layer (SSL)
IS3230 Access Security Unit 9 PKI and Encryption
Using SSL – Secure Socket Layer
Grid School Module 4: Grid Security
The Secure Sockets Layer (SSL) Protocol
Grid Security Overview
Grid Security Infrastructure
Presentation transcript:

Lecture 2: Security Rachana Ananthakrishnan Argonne National Lab

Typical Grid Scenario Users Resources

Identity

Authentication

Identity & Authentication Each entity should have an identity Authenticate: Establish identity Is the entity who he claims he is ? Examples:  Driving License  Username/password Stops masquerading imposters

Privacy Medical Record Patient no: 3456

Integrity Run myHome/whoami Run myHome/rm –f *

Message Protection Sending message securely Integrity  Detect whether message has been tampered Privacy  No one other than sender and receiver should be able to read message Authentication and Integrity

Authorization

Authorization establishes rights to do actions What can a particular identity do? Examples:  Are you allowed to be on this flight ?  Unix read/write/execute permissions Must authenticate first

Varied Credentials

Authenticate Once

Delegation

Single Sign-On is important for complex applications that need to use Grid resources Enables easy coordination of varied resources Enables automation of process Allows remote processes and resources to act on user’s behalf Authentication and Delegation

Solutions

Secure Message Solution Encryption and Signature (Cryptography)

Cryptographic Keys, the building block of cryptography, are collections of bits The more bits that you have, the stronger is the key

Encryption takes data and a key, feeds it into a function and gets encrypted data out Encrypted data is, in principal, unreadable unless decrypted Encryption Function

Decryption feeds encrypted data & a key into a function and gets the original data Encryption and decryption functions are linked Decryption Function

In Symmetric Encryption, the encryption and decryption functions use the same key Decrypt Encrypt

In Asymmetric Encryption, encryption & decryption use a key pair Keys are mathematically linked

When data is encrypted with one key, the other key must be used to decrypt the data  And vice versa Encrypt Decrypt Encrypt asymmetric asymmetric

With asymmetric encryption each user can be assigned a pair of private and public keys Private key is known only to owner Public key is given away to the world

Anything encrypted with the public key can only be decrypted with the private key And vice versa Since the private key is known only to the owner, this is very powerful. Message Privacy! Encrypt Decrypt

Digital Signatures let you verify aspects of the data Who created a hunk of data That the data has not been tampered with

Digital Signatures are encrypted hashes of the data Digital signatures are generated by  Creating hash of the data  encrypting the hash with my private key This signature can be decrypted only by my public key Hash Encrypt

Recipients use the Digital Signature to verify the integrity of the data Recipient of data and signature:  Compute hash of data  Decrypt signature to get hash  Compare hash to see if they match Compute Hash =? Decrypt

Digital Signature Message Compute Hash Decrypt != Recipient Sender

Since I’m the only one with private key, you know I signed the hash and the data But, how do you know that you have my correct public key? ?

Entity Identity Solution Public Key Infrastructure

Public Key Infrastructure (PKI) shows that a given public key belongs to a given user PKI builds off of asymmetric encryption:  Each entity has two keys: public and private  The private key is known only to the entity The public key is given to the world, encapsulated in a X.509 certificate Owner

An X.509 certificate binds a public key to a name It includes:  name  public key  other things bundled together and signed by a trusted party (Issuer) Name Issuer Public Key Validity Signature

John Doe 755 E. Woodlawn Urbana IL BD Male 6’0” 200lbs GRN Eyes State of Illinois Seal Certificates are similar to passports or driver’s licenses Name Issuer Public Key Validity Signature Valid Till:

By checking the signature, you can see if a public key belongs to a given user Name Issuer Public Key Validity Signature Hash =? Decrypt Public Key from Issuer

Certification Authorities (CAs) sign certificates CAs are small set of trusted entities Issuer? Name Validity Public Key

Certification Authorities exist only to sign user certificates The CA signs it’s own certificate which is distributed in a trusted manner Name: CA Issuer: CA CA’s Public Key Validity CA’s Signature

The public key from the CA certificate can then be used to verify issued certificates Name Issuer Validity Public Key Signature Hash =? Decrypt Name: CA Issuer: CA CA’s Public Key Validity CA’s Signature

Each CA has a Certificate Policy (CP) The Certificate Policy states:  To whom the CA will issue certificates  How the CA identifies people to whom it will issue certificates Lenient CAs don’t pose security threat because resources determine the CAs they trust.

To request a certificate, a user starts by generating a key pair

The user signs their own public key to form what is called a Certificate Request /Web upload Sign Certificate Request Public Key

The user takes the certificate to a Registration Authority (RA) Vetting of user’s identity Often the RA coexists with the CA and is not apparent to the user Certificate Request Public Key ID

The CA takes the identity from the RA and the public key from the certificate request It creates, signs and issues a certificate for the user Certificate Request Public Key Name Issuer Validity Public Key Signature Name

Authentication Solution Secure Socket Layer

Secure Socket Layer (SSL) Protocol above a standard TCP/IP socket to provide security in the forms of:  Authentication  Message protection Privacy Integrity

SSL Authentication Both sides have certificate and private key Start by exchanging X.509 certificates

SSL Authentication Each side then sends over a challenge Challenge is signed with private key and sent back over Sign

SSL Authentication Each side then  verifies certificate using PKI  Validates challenge signature using certificate If everything checks then the identity from the certificate can be trusted CA Check Certificate Check Signature

SSL Handshake Creating session key:  Both sides agree on some algorithm to generate keys.  One side sends over some random data encrypted with other side’s public key  The other side decrypts it with its private key Encrypt Decrypt

SSL Handshake (2)  Both sides use agreed algorithm to generate session key from the random data.  Now all messages between the two sides are protected using session key Agreed Algorithm

SSL Message Protection Session key  Symmetric  Signature and Encryption  Short-lived Example:  Web servers  Globus Toolkit services Encrypt Sign Message

Solution Single Sign-on Grid Security Infrastructure Delegation Varied Resources Authenticate Once

Grid Security Infrastructure (GSI) allows users & apps to securely access resources A set of tools, libraries and protocols used in Globus Based on PKI Uses SSL for authentication and message protection Adds features needed for Single-Sign on  Proxy Credentials  Delegation

In GSI, each user has a set of credentials they use to prove their identity on the grid Consists of a X509 certificate and private key Long-term private key is kept encrypted with a pass phrase  Good for security, inconvenient for repeated usage

GSI: Single Sign-on To support single sign-on GSI adds the following functionality to SSL:  Proxy credentials  Credential delegation Support for long running processes:  Allow easy repeated access to credentials  Limit risk of misuse on theft  Allow process to perform jobs for user

GSI Proxy credentials are short-lived credentials created by user Short term binding of user’s identity to alternate private key Same effective identity as certificate Stored unencrypted for easy repeated access Short lifetime in case of theft

GSI delegation allows another entity to run using your credentials You must authenticate before using delegation Attempt to ensure that entity can run as you  only for limited time  for specific purpose

Example of GSI Delegation User “Green” wants to delegate to User “Orange” 1. Orange generates public/private key 2. Orange keeps private key and never sends it on wire 3. A certificate request with public key is generated and sent to Green 4. Green signs that as a certificate and returns it Orange has a delegated proxy from Green. Signature chain:  Orange’s delegated proxy  Green’s proxy  Green’s certificate  CA

Authorization Solution GSI Authorization

Authorization Types  Server side authorization  Client side authorization Examples  Self authorization  Identity authorization Chaining authorization schemes  Client must be User Green and have a candle stick and be in the library!

Gridmap is a list of mappings from allowed DNs to user name "/C=US/O=Globus/O=ANL/OU=MCS/CN=Ben Clifford” benc "/C=US/O=Globus/O=ANL/OU=MCS/CN=MikeWilde” wilde Commonly used in Globus for server side ACL + some attribute Controlled by administrator Open read access

Summary Identity Authentication Message integrity Message Privacy Single Sign On  Proxy Certificates  Delegation Authorization

MyProxy Developed at NCSA Credential Repository with different access mechanism (e.g username/pass phrase) Can act as a credential translator from username/pass phrase to GSI Online CA Supports various authentication schemes  Passphrase, Certificate, Kerberos

MyProxy: Use Cases Credential need not be stored in every machine Used by services that can only handle username and pass phrases to authenticate to Grid. E.g. web portals Handles credential renewal for long-running tasks Can delegate to other services

Lab Session Focus on tools  Certificates  Proxies  Gridmap Authorization  Delegation  MyProxy