vn-grid security

41
VN-GRID Security Nguyen Cao Dat

Upload: chill

Post on 14-Jan-2016

50 views

Category:

Documents


1 download

DESCRIPTION

VN-GRID Security. Nguyen Cao Dat. Outline. Grid Security on EDAGrid EDAGrid topology Authentication Authorization Message protection Security Issues Grid Security on VN-GRID VN-GRID topology Authentication Authorization To do list. Outline. Grid Security on EDAGrid EDAGrid topology - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: VN-GRID Security

VN-GRID Security

Nguyen Cao Dat

Page 2: VN-GRID Security

Outline Grid Security on EDAGrid

EDAGrid topology

Authentication

Authorization

Message protection

Security Issues

Grid Security on VN-GRID VN-GRID topology

Authentication

Authorization

To do list

Page 3: VN-GRID Security

Outline Grid Security on EDAGrid

EDAGrid topology

Authentication

Authorization

Message protection

Security Issues

Page 4: VN-GRID Security

EDAGrid topology

Certification

Authority

VO Server

GridNodes

1

2

Site = Virtual Organization

Page 5: VN-GRID Security

How a user is authenticated by a GridNode

Obtaining a Certificate

user

SubjectPublic KeyIssuer (CA)Signature of CA

Private Key(encrypted) • Create a public/private key pair and unsigned

certificate (grid-cert-request command)

• Mail unsigned certificate to CA admin by E-mail

• Receive a signed certificate

Page 6: VN-GRID Security

How a user is authenticated by a GridNode(2)

By checking the signature, one can

determine that a public key belongs to a

given user.

SubjectPublic KeyIssuerSignature

Hash

=?Decrypt

Public Key fromIssuerIss

uer

Page 7: VN-GRID Security

How a user is authenticated by a GridNode(3)

User Cert.SubjectPublic KeyIssuer (CA)Digital Signature

serveruser

User Cert.SubjectPublic KeyIssuer (CA)Digital Signature

Send Cert.

challenge string

encryptedchallenge string

QAZWSXEDC…

Check Public Key

QAZWSXEDC…

QAZWSXEDC…Public Key

private key(encrypted)

PL<OKNIJBN…

Page 8: VN-GRID Security

How a user is authenticated by GridNodes

user

Communication*

Remote fileaccess requests*

remote processcreation

requests*

Grid Node A GridNode B

* with mutual authentication

SingleSign on

Delegation

Page 9: VN-GRID Security

How a user is authenticated by GridNodes (2) Create Proxy Certificate

User CertificateSubjectPublic KeyIssuer (CA)Digital Signature

grid-proxy-init

Proxy CertificateSubject/Proxy(new) public key(new) private key (not encrypted)Issuer (user)Digital Signature (user)

sign

User CertificateSubjectPublic KeyIssuer (CA)Digital Signature

Identity of the user

private key(encrypted)

Page 10: VN-GRID Security

How a user is authenticated by GridNodes (3)

Proxy Certificate Minimize exposure of user’s private key.

A “proxy certificate” is a special type of certificate that

is signed by the normal end entity cert, or by another

proxy.

Used in short term,

Proxy’s private key is not encrypted. Rely on file system security, proxy certificate file must be

readable only by the owner

Page 11: VN-GRID Security

How a user is authenticated by GridNodes (4)

DelegationDelegation Remote creation of a user proxy Results in a new private key and proxy certificate,

signed by the original key Allows remote process to act on behalf of the user Avoids sending private keys across the network

GridNode1 GridNode2

Proxy-2private

Proxy-2public

Proxy-1Private

key

Proxy-1PublicKeyUser

Private Proxy-2 Public

Proxy-2CertUser

Private key

UserPublicKey

grid-proxy-init

Page 12: VN-GRID Security

How a user is authenticated by GridNodes (5)

Traverse Certificate Chain to verify identity

User Identity

UserCertificateCA

User Identity

ProxyCertificate

User CertificateCA

User Identity

ProxyCertificate

User CertificateCA Proxy

Certificate

Page 13: VN-GRID Security

How a user is authenticated by GridNodes (5)

Example Create Proxy certificate

$ grid-proxy-init

Enter PEM pass phrase: *****

Remote Authentication Test

$ globusrun –a –r hostname

Running a Job on Remote node

$ globus-job-run hostname <executable>

$ globusrun-ws …

Page 14: VN-GRID Security

Authorization

LocalPolicy

LocalPolicy

Map tolocal name

Map tolocal name

GridIdentity

•Identity Mapping

User is mapped to local identities to determine local policy.

.

Page 15: VN-GRID Security

Authorization (2) Gridmap File

Gridmap file maintained by Globus administrator

Entry maps Grid-id into local user name(s)

# Distinguished name Local# username"/O=Grid/OU=VNU-HCM/OU=HCMUT/OU=CSE/CN=Grid Test 1" griduser1"/O=Grid/OU=VNU-HCM/OU=HCMUT/OU=CSE/CN=Nguyen Tuan Anh" tanguyen"/O=Grid/OU=VNU-HCM/OU=HCMUT/OU=CSE/CN=Thoai Nam" griduser3"/O=Grid/OU=VNU-HCM/OU=HCMUT/OU=CSE/CN=Tran Van Hoai" hoai"/O=Grid/OU=VNU-HCM/OU=HCMUT/OU=CSE/CN=Nguyen Cao Dat" dat"/O=Grid/OU=VNU-HCM/OU=HCMUT/OU=CSE/CN=Ly Hoang Hai" griduser1

Page 16: VN-GRID Security

Message protection

Uses certificates and TCP sockets to provide a secured connection Authentication of one or both parties using the

certificates Message protection

Confidentiality (encryption) Integrity

Certificates TCP Sockets

SSL/TLS

Page 17: VN-GRID Security

EDAGrid Security Infrastructure

GSI is:

PKI(CAs and

Certificates)

SSL/TLS

Proxies and Delegation

PKI forcredentials

SSL forAuthenticationAnd message protection

Proxies and delegation (GSIExtensions) for secure singleSign-on

PKI: Public Key Infrastructure

Page 18: VN-GRID Security

Security issues Authentication issues

User Interface

Single CA vs. Multiple CAs

Credential Management

Authorization issues What happens if there are thousands to millions of users?

The grid-mapfile doesn’t scale well, and works only at the

resource level, not the collective level (site level).

Accounting issues Logs from VOInformation are not enough.

Billing system.

Page 19: VN-GRID Security

Outline Grid Security on VN-GRID

VN-GRID topology

Authentication

Authorization

To do list

Page 20: VN-GRID Security

VN-GRID topology

Certification

Authority

VO Server

GridNodes

1

2

Certification

Authority

VO Server

GridNodes

1

2

Site 1 Site 2

Page 21: VN-GRID Security

Authentication

• Goals– Support multi CAs.– User

• Transparent authentication (Proxys/delegation).

– Site/Individual Node• Easy to adhere.

Page 22: VN-GRID Security

VN-GRID

Authentication (2)

• Multiple CAs– Manual update -> simple.– Automatic update solution

Site N

CA CA 2. certificate

1. request

3. Adhere

4. Agree/ Not Agree

CAs data

Portal

Update CAs List

Page 23: VN-GRID Security

Authorization• Goals

– Support thousands to millions users from sites.– Compatible with site/local security policies.

– Easy to understand and verify.– Easy to administer.

AccessGranted by localTo community

AccessGranted by community

To user

AccessGranted by site

To user

Page 24: VN-GRID Security

Authorization (2)

• Approachs– “Classic” Authorization Method

• Identity mapping

– Attribute-Based Authorization Methods• CAS(Community Authorization Service)• VOMS(Virtual Organization Membership Service)• PERMIS• GridShib• CaBig tools

Page 25: VN-GRID Security

Authorization (3)

• Identity mapping– Gridmap file format

Subject DNs [user0, user1, …, usern-1]

– Dual function identity-based gridmap file• Authorization Policy• Username Mapping Policy

– A single gridmap file serves both functions

Page 26: VN-GRID Security

Authorization (4)

• Attribute-Based Authorization– User create Proxy Certificate with Attributes

user

SAML: Security Assertion Markup Language

Page 27: VN-GRID Security

Authorization (5)

• Attribute-Based Authorization– Authz on GridNodes

PDP/PEPPDP/PEP

GridNode

policies

PDP: Policy Decision PointPEP: Policy Enforcement Point

Page 28: VN-GRID Security

Authorization (6)

• GridShib– GridShib SAML Tools

• A SAML producer• Binds a SAML assertion to an X.509 proxy certificate• The same X.509-bound SAML token can be

transmitted at the transport level or the message level (using WS-Security X.509 Token Profile).

– GridShib for Globus Toolkit• A SAML consumer• GridShib for GT (GS4GT) is a plug-in for GT 4.x

Page 29: VN-GRID Security

Authorization (7)

• GridShib for GT (GS4GT)

Page 30: VN-GRID Security

Authorization (8)

• GridShib for GT (GS4GT)– Two separate attribute-based policy files

• Authorization Policy

[A0, A1, …, Am-1]

• Username Mapping Policy

[A0, A1, …, Am1-1] [user0, user1, …, usern1-1]

[A0, A1, …, Am2-1] [user0, user1, …, usern2-1]

– A single XML-based policy file may encapsulate both types of policies

Page 31: VN-GRID Security

To do list Building testbed system

Resources: 03 GridNodes (03 sites)

Install & configure GT4.x, GridShib

Programming CLI to create Proxy Certificate with Attributes

Site Registration Service

Update CAs list programs for VO Server/GridNode

Documentation Technical report

Admin Guide

Page 32: VN-GRID Security

Appendix

Page 33: VN-GRID Security

Symmetric Encryption

• Encryption and decryption functions that use the same key are called symmetric– In this case everyone wanting to read encrypted data must share the same key

• DES is an example of symmetric encryption

Encrypt

Decrypt

Page 34: VN-GRID Security

Asymmetric Encryption• Encryption and decryption functions that use a key pair are called asymmetric– Keys are mathematically linked

• RSA is an example of asymmetric encryption

Page 35: VN-GRID Security

Asymmetric Encryption• When data is encrypted with one key, the other key must be used to decrypt the data

• And vice versa

Encrypt

Decrypt

Decrypt

Encrypt

Page 36: VN-GRID Security

Public and Private Keys

• With asymmetric encryption each user can be assigned a key pair: a private and public key

Private key is known only to owner

Public key is given away to the world

Page 37: VN-GRID Security

Public and Private keys• Anything encrypted with the private key can only be decrypted with the public key

• And vice versa• Since the private key is known only to the owner, this is very powerful…

Encrypt

Decrypt

Page 38: VN-GRID Security

Digital Signatures• Digital signatures allow the world to verify I created a hunk of data– e.g. email, code

Page 39: VN-GRID Security

Digital Signatures• Digital signatures are created by encrypting a hash of the data with my private key

• The resulting encrypted data is the signature

• This hash can then only be decrypted by my public key

Hash

Encrypt

Page 40: VN-GRID Security

Digital Signature

• Given some data with my signature, if you decrypt a signature with my public key and get the hash of the data, you know it was encrypted with my private key

Hash

=?Decrypt

Page 41: VN-GRID Security

Digital Signature• Since I’m the only one

with access to my private key, you know I signed the hash and the data associated with it

• But, how do you know that you have my correct public key?

• Answer: A Public Key Infrastructure… ?