Grid Computing Part 3. Grid Security Architecture Margarita M.Stepanova mstep@mms.nw.ru Saint-Petersburg State University, Faculty of Physics v.1.2 10.03.08.

Презентация:



Advertisements
Похожие презентации
Grid Computing Part 3. Grid Security Architecture Margarita M.Stepanova Saint-Petersburg State University, Faculty of Physics v
Advertisements

© 2006 Cisco Systems, Inc. All rights reserved.ONT v Implement the DiffServ QoS Model Implementing QoS Preclassify.
Copyright 2003 CCNA 4 Chapter 11 Scaling IP Addresses By Your Name.
© 2003, Cisco Systems, Inc. All rights reserved. CSVPN Lesson 6 Configure the Cisco VPN 3000 Series Concentrator for Remote Access Using Digital.
Unit 2 Users Management. Users Every user is assigned a unique User ID number (UID) UID 0 identifies root User accounts normally start at UID 500 Users'
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Complex MPLS VPNs Introducing Central Services VPNs.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary © Wind River Systems, released under EPL 1.0. All logos are TM of their respective.
© 2005, Cisco Systems, Inc. All rights reserved. IPS v Lesson 4 Using IPS Device Manager.
© 2006 Cisco Systems, Inc. All rights reserved.ISCW v IPsec VPNs Implementing the Cisco VPN Client.
© 2003, Cisco Systems, Inc. All rights reserved. CSPFA Chapter 3 Cisco PIX Firewall Technology and Features.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Managing Your Network Environment Managing Cisco Devices.
© 2004, Cisco Systems, Inc. All rights reserved. CSIDS Lesson 7 Using the Intrusion Detection System Device Manager to Configure the Sensor.
© 2007 Cisco Systems, Inc. All rights reserved.SNRS v Secured Connectivity Introducing IPsec.
Mobility Control and one-X Mobile. Mobility Control User Configuration Mobile Call Control requires PRI-U, BRI or SIP (RFC2833) trunks in the IP Office.
© 2006 Cisco Systems, Inc. All rights reserved.CIPT2 v Monitor and Manage IP Telephony Introducing Cisco Unified CallManager Serviceability.
© 2009 Avaya Inc. All rights reserved.1 Chapter Two, Voic Pro Components Module Two – Actions, Variables & Conditions.
© 2006 Cisco Systems, Inc. All rights reserved.ISCW v IPsec VPNs Configuring IPsec Site-to-Site VPN Using SDM.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v MPLS VPN Implementation Configuring VRF Tables.
The Web The Internet. Level A2 Waystage Level A2 Waystage Listening (p.17) I can understand simple messages delivered at a relatively high speed (on every.
© 2003, Cisco Systems, Inc. All rights reserved. CSPFA Chapter 9 Routing.
Транксрипт:

Grid Computing Part 3. Grid Security Architecture Margarita M.Stepanova Saint-Petersburg State University, Faculty of Physics v

Концепция безопасности Accounting User Resource Authentication Authorization Grid Security Infrastructure (GSI) - набор программ и библиотек, обеспечивающих аутентификацию, авторизация и работу с сертификатами сертификаты X.509 механизм PKI (public key infrastructure) протокол SSL (для аутентификации, конфиденциальности и целостности данных) Proxy-сертификаты и механизм делегирования полномочий (для обеспечения однократной авторизации single sign-on в рамках виртуальной организации)

GSI General PKI (CAs and Certificates) SSL/ TLS Proxies and Delegation PKI for credentials SSL for Authentication and message protection Proxies and delegation (GSI Extensions) for secure single Sign-on Based on Slide from Globus Tutorial

Basic security concepts Authentication (Аутентификация) –проверка подлинности объекта Authorization (Авторизация) –сопоставление объекта и набора привилегий Confidentiality (Конфиденциальность) –доступность передаваемых данных заранее предопределённому набору объектов. (Только получатель может понять закодированное сообщение) Integrity (Целостность) –неизменность передаваемых данных Non-repudiation (Поддержка принятия) –Невозможность отвергать достоверность цифровой подписи Алгоритм шифрования –(известный) набор действий, необходимый для шифрования/расшифровки данных, пример: DES, RSA, BlowFish Key (Ключ) –параметр алгоритма шифрования Digital signature (Цифровая подпись) –инструмент для идентификации источника данных Credentials (Верительные грамоты, сертификаты) –Некоторые данные, обеспечивающие доказательство тождества Mechanism –software обеспечивающее аутентификацию данных или конфиденциальность (e.g. Kerberos, GSI)

Encryption Symmetric encryption: same key (secret) used for encryption and decryption – 3DES, IDEA, BlowFish Asymmetric encryption: different keys used for encryption and decryption –RSA, DSA Clear text message Encrypted text Clear text message Encryption Decryption Shared key Clear text message Encrypted text Clear text message Encryption Decryption Key A Key B Slide from Andrea Sciabà, 2004

Public Key Infrastructure (PKI) Provides authentication, integrity, confidentiality, non-repudiation Asymmetric encryption Digital signatures –A hash derived from the message and encrypted with the signers private key –Signature checked decrypting with the signers public key Allows key exchange in an insecure medium using a trust model –Keys trusted only if signed by a trusted third party (Certification Authority) –A CA certifies that a key belongs to a given principal Certificate –Public key + information about the principal + CA signature –X.509 format most used PKI used by SSL, PGP, GSI, WS security, S/MIME, etc. Encrypted text Private KeyPublic Key Clear text message Slide from Andrea Sciabà, 2004 Owner

X.509 certificates and authentication A B As certificate A Verify CA signature Random phrase Encrypt with A s private key Encrypted phrase Decrypt with A s public key Compare with original phrase Public key Subject:C=CH, O=CERN, OU=GRID, CN=John Smith 8968 Issuer: C=CH, O=CERN, OU=GRID, CN=CERN CA Expiration date: Aug 26 08:08: GMT Serial number: 625 (0x271) CA Digital signature Structure of a X.509 certificate RFC3280 Slide from Andrea Sciabà, 2004

Inside the Certificate Standard (X.509) defined format. - Distinguished Name (DN) - unique name of certificate, executed in format X.500, example:/C=RU/O=DataGrid/CN=DataGrid CA User identification (e.g. full name). Users Public key. A signature from a CA created by encoding a unique string (a hash) generated from the users identification, users public key and the name of the CA. The signature is encoded using the CAs private key. This has the effect of: –Proving that the certificate came from the CA. –Vouching for the users identification. –Vouching for the binding of the users public key to their identification.

Certification Authorities and etc. Certification Authority (CA) – выдаёт и отзывает сертификаты. Является третьей доверенной стороной. CA сертификаты само- подписанные (self-signed). Registration Authority(RA) – подтверждает право объекта на получение/отзыв сертификата. Владелец сертификата – может использовать закрытый ключ и сертификат для шифрования и цифровой подписи. Клиент – объект, использующий открытый ключ для шифрования данных, проверяющий цифровую подпись или аутентифицирующий владельца открытого ключа. Repository - Хранилища (репозитории) для действительных сертификатов и списка отозванных сертификатов или Certificate Revocation List, CRL. Distinguished Name (DN) – уникальное имя сертификата, оформленное в стиле X.500: /C=RU/O=DataGrid/CN=DataGrid CA

Certificate Authorities (CAs ) The public key from the CA certificate can then be used to verify other certificates Name Issuer Public Key Signature Hash =? Decrypt Name: CA Issuer: CA CAs Public Key CAs Signature slide based on Grid Security Infrastructure Tutorial Certificate Policy (CP) Each CA has a Certificate Policy (CA) which states when and how a CA issues certificates. A CA for a grid typically only issues certificates for folks that are already approved to use resources on the grid

Namespaces Each CAs Certificate Policy also states the namespace of certificates issued by the CA A namespace is a hierarchy similar to the hierarchy used for Internet hostnames Each CA constrains itself to signing certificates that are in a namespace that are a portion of the overall space –E.g. the Globus CA signs certificates only under the Globus organization Grid Globus mcs.anl.gov Von Welch NASA LBNL Root Top-level organizations Organizational Units Entity uiuc.edu slide based on Grid Security Infrastructure Tutorial

Certificate classification User certificate –issued to a physical person –DN= C=CH, O=CERN, OU=GRID, CN =John Smith –the only kind of certificate good for a client, i.e. to send Grid jobs Host certificate –issued to a Grid service (i.e. a Resource Broker, a Computing Element, etc.) –request signed with a user certificate –DN= C=CH, O=CERN, OU=GRID, CN=host/host1.cern.ch Service certificate –issued to a program running on a machine –request signed with a user certificate –DN= C=CH, O=CERN, OU=GRID, CN=ldap/host1.cern.ch

Certificate Request Private Key encrypted on local disk Certificate Request Public Key ID Cert User generates public/private key pair. User send public key to CA along with proof of identity. CA confirms identity, signs certificate and sends back to user. slide based on presentation given by Carl Kesselman at GGF Summer School 2004 Public

Как получить сертификат (1) Схема действий для получения официального российского сертификата в RDIG Certification Aithority : Заполнить электронную форму Получить файл с запросом на сертификат, бумажную форму запроса и модуль вашего открытого ключа Сгенерировать запрос, отправить файл запроса в RDIG CA, дождаться подтверждения Подтвердить Ваши данные и запрос у RA SPBU После получения подтверждения от RA ваш сертификат будет подписан и выслан на ваш электронный адрес.

Как получить сертификат (2) Схема действий для получения неофициального (simple) сертификата, сгенерированного локальным CA: сгенерировать пару ключей и запрос отправить его на адрес локального CA. подписанный сертификат можно использовать для доступа к ресурсам сайтов, которые включат ваш сертификат в свой локальный grid-mapfile. !!! Получение сертификата само по себе не дает права использовать какие-либо ресурсы Грид, пока сертификат не зарегистрирован в виртуальной организации или не добавлен вручную администратором сайта !!!

Где и как нужно разместить сертификат В своем домашнем каталоге на UNIX-машине с установленным UI (user interface): [wood] /home/mstep > ls -l.globus total 12 -r--r--r-- 1 mstep wheel 5662 Feb usercert.pem -r mstep wheel 963 Feb userkey.pem Если требуется доступ к ресурсам через браузер, то нужно ваш сертификат конвертировать из формата PEM в PKCS12 и загрузить в браузер [wood] /home/mstep > openssl pkcs12 -export -inkey userkey.pem -in usercert.pem -out my_cert.p12 -name "My certificate" Инструкция здесь:

Globus Grid Security Infrastructure (GSI) de facto standard for Grid middleware Based on PKI Implements some important features –Single sign-on: no need to give ones password every time –Delegation: a service can act on behalf of a person –Mutual authentication: both sides must authenticate to the other Introduces proxy certificates –Short-lived certificates including their private key and signed with the users certificate Slide from Andrea Sciabà, 2004

Аутентификация и делегирование (пояснение) Процесс делегирования: 1.Делегат создаёт пару ключей. 2.Открытый ключ отсылается делегирующему. 3.Подписанный открытый ключ (сертификат) возвращается делегату вместе со всей цепочкой сертификации. GRAM, Replica Services, RB: GSI-аутентификация с помощью полного proxy + делегация proxy. GridFTP: GSI/SSL-аутентификация с помощью proxy, делегации нет. Web-сервисы: TLS-подобная аутентификация + делегация с использованием расширений G-HTTPS GET-PROXY-REQ и PUT-PROXY-CERT.

Proxy certificates and delegation Delegation –Allowing something else (eg. a file transfer service) to use my credentials Proxies can be moved over a network Subject identifies the user: –User subject: /C=CH/O=RDIG/OU=GRID/CN=Margarita Stepanova 8968 –Proxy subject: C=CH/O=RDIG/OU=GRID/CN=Margarita Stepanova 8968/CN=proxy Full proxy –A proxy created from a user certificate or another full proxy with normal delegation Limited proxy –A proxy created from a proxy with limited delegation, or from another limited proxy

GSI environment variables User certificate files: –Certificate:X509_USER_CERT (default: $HOME/.globus/usercert.pem ) –Private key:X509_USER_KEY (default: $HOME/.globus/userkey.pem ) –Proxy:X509_USER_PROXY (default: /tmp/x509up_u ) Host certificate files: –Certificate:X509_USER_CERT (default: /etc/grid-security/hostcert.pem ) –Private key:X509_USER_KEY (default: /etc/grid-security/hostkey.pem ) Trusted certification authority certificates: – X509_CERT_DIR(default: /etc/grid-security/certificates ) Location of the grid-mapfile: – GRIDMAP(default: /etc/grid-security/grid-mapfile )

Command line interface: certificate and proxy management Get information on a user certificate –grid-cert-info[-help] [-file certfile] [OPTION]... -all whole certificate -subject | -s subject string -issuer | -I Issuer -startdate | -sd Start of validity -enddate | -ed End of validity Create a proxy certificate –grid-proxy-init Destroy a proxy certificate –grid-proxy-destroy Get information on a proxy certificate –grid-proxy-info

Long term proxy Proxy has limited lifetime (default is 12 h) myproxy server: –Allows to create and store a long term proxy certificate: –myproxy-init -s -t –myproxy-info Get information about stored long living proxy –myproxy-get-delegation Get a new proxy from the MyProxy server –myproxy-destroy A service running continuously can renew automatically a proxy created from a long term use proxy and use it to interact with the Grid –Examples: automatic job dispatchers or data movers

Automatic proxy renewal for long-running jobs

Virtual Organizations and authorization Users MUST belong to a Virtual Organization –Sets of users belonging to a collaboration –Each VO user has the same access privileges to Grid resources –List of supported VOs: VOs maintain a list of their members –The list is downloaded by Grid machines to map user certificate subjects to local pool accounts: only mapped users are authorized in Grid –Sites decide which VOs to accept VO Policy + Local Site Policy... "/C=CH/O=CERN/OU=GRID/CN=Simone Campana 7461".dteam "/C=CH/O=CERN/OU=GRID/CN=Andrea Sciaba 8968".cms "/C=CH/O=CERN/OU=GRID/CN=Patricia Mendez Lorenzo-ALICE".alice... grid-mapfile:

User authentication based on central databases –one database per VO –Database contains the certificate subjects of all users. Databases accessed by RBs, CEs and SEs –locally build a list of authorized users (/etc/grid-security/grid-mapfile) –The list maps user certificate subjects to local pool accounts –Users with a. in are illegal in UNIX. Signal to the globus libraries to allocate a pool account, eg dteam005. A permanent mapping is maintained (/etc/grid-security/gridmapdir/) –Mappings have a life time of 1 day before being recycled. Authentication and Authorization System... "/C=CH/O=CERN/OU=GRID/CN=Simone Campana 7461".dteam "/C=CH/O=CERN/OU=GRID/CN=Andrea Sciaba 8968".cms "/C=CH/O=CERN/OU=GRID/CN=Patricia Mendez Lorenzo-ALICE".alice atlas %2fc%3dch%2fo%3dcern%2fou%3dgrid%2fcn%3dsimone%20campana%207461%20%2d%2...

Example: VO-LDAP server for Authorisation mkgridmap grid-mapfile VO Directory CN=Mario Rossi o=xyz, dc=eu-datagrid, dc=org CN=Franz ElmerCN=John Smith Authentication Certificate ou=Peopleou=Testbed1ou=??? local users ban list

Query Authentication Request Auth DB C=IT/O=INFN /L=CNAF /CN=Pinco Palla /CN=proxy VOMS pseudo -cert 1.Mutual authentication Client-Server –Secure communication channel via standard Globus API 2.Client sends request to Server 3.Server checks correctness of request 4.Server sends back the required info (signed by itself) in a Pseudo-Certificate 5.Client checks the validity of the info received 6.Optionally: [Client repeats process for other VOMS s] 7.Client creates proxy certificates containing all the info received into a (non critical) extension 8.Client may add user-supplied auth. info (kerberos tickets, etc … ) Based on: VOMS – VO Membership Service Сервис управления членством в VO Позволяет создать иерархическую групповую структуру с пользовательскими ролями Внутренняя структура хранилища – Relational Database

VOMS, LCAS, LCMAPS Virtual Organization Membership Service (VOMS) –Extends the proxy info with VO membership, group, role and capabilities –User may log-in into multiple VOs and create an aggregate proxy certificate – voms-proxy-init instead of grid-proxy-init Local Centre Authorization Service (LCAS) –Checks if the user is authorized (currently using the grid-mapfile) –Checks if the user is banned at the site –Checks if at that time the site accepts jobs Local Credential Mapping Service (LCMAPS) –Maps grid credentials to local credentials (eg. UNIX uid/gid) –Currently uses the grid-mapfile (based only on certificate subject) –Maps also VOMS group and roles "/VO=cms/GROUP=/cms".cms "/VO=cms/GROUP=/cms/prod".cmsprod "/VO=cms/GROUP=/cms/prod/ROLE=manager".cmsprodman

User Authorisation to Access Resource slide based on presentation given by Carl Kesselman at GGF Summer School 2004

Summary GSI is: –X.509 Certificates for authentication –PKI for verifying identities in Certificates –SSL as the protocol for authentication, confidentiality and integrity –Proxy certificates and delegation to support single sign-on